ZEWB_GEN_UDPATE_MODE
FUNCTION zewb_gen_udpate_mode . *"---------------------------------------------------------------------*"*"Update Function Module: *" *"*"Local Interface: *" TABLES *" GT_VB! STUTUE VB! *" GT_VB# STUTUE VB# *" GT_#$MV STUTUE #$%V *"---------------------------------------------------------------------*
*e&a' Bill Generation ode( DATA:gt_return TYPE TABE OF bap!return". DATA: bap!return". DATA: DATA : ")t_+r, T!E TABLE $F +r,. g#_$br% TYPE $br%& $br%& gt_'eader TYPE TABE OF zewb_!n$& zewb_!n$& gt_'eader" TYPE TABE OF zewb_!n$& zewb_!n$& g#_'eader TYPE zewb_!n$& zewb_!n$& g#_re( TYPE zewb_re(& zewb_re(& g#_'eader" TYPE zewb_!n$& zewb_!n$& )$_*#on_+'ar TYPE tb,_#tr!ng& tb,_#tr!ng& to%en_me##ageto%en_me##age-" "/& /& )$_pa0)oad TYPE #tr!ng& #tr!ng& *#on_out TYPE #tr!ng& #tr!ng& )$_pa0)oad_, TYPE ,#tr!ng& ,#tr!ng& )$_re#pon#e TYPE tb,_#tr!ng& tb,_#tr!ng& to%en TYPE tb,_#tr!ng& tb,_#tr!ng& re(ue#t!dre(ue#t!d-" "/& /& gt_!tem TYPE TABE OF zewb_!n$!tem& zewb_!n$!tem & g#_!tem TYPE zewb_!n$!tem& zewb_!n$!tem& g#_!tem" TYPE zewb_!n$!tem& zewb_!n$!tem& gt_!tem" TYPE TABE OF zewb_!n$!tem. zewb_!n$!tem . DATA: DATA : !t_!n$ TYPE zewb_#tr_!n$ OCCU12 3IT4 4EADE1 INE. INE. DATA: DATA : )$_5g#t!n TYPE zz5g#t!n. zz5g#t!n . DATA: DATA : !tem)!#t TYPE zewb_#tr_!n$!tem OCCU12 3IT4 4EADE1 INE. INE. DATA: DATA : BE6IN OF !t_error& !t_error& error TYPE #tr!ng& #tr!ng & error_de#+r!pt!on TYPE #tr!ng& #tr!ng & END OF !t_error. !t_error. DATA: DATA : BE6IN OF !t_a)$ OCCU12 & do+no TYPE $br%7 $br%7$be)n& $be)n& ewbno TYPE zzewbno& zzewbno& ewbdtewbdt-8 8/& /& !+on TYPE +'ar9& +'ar9& bu%r# TYPE bu%r#& bu%r#& tt0pett0pe-" "/& /& dme##agedme##age-" "/& /& "Inoice /ata Validit' Me00a)e d$a)!dd$a)!d-"/& "Inoice /ata Valid or not #tatu##tatu#-" "/& /& $a)!d5rom$a)!d5rom-8 8/& /&
tmodetmode-" "/& /& $a)!dto$a)!dto-8 8/& /& tdo+date TYPE #07 #07datum& datum& 5!e)d_#t0)e TYPE )$+_t_#t0)& )$+_t_#t0) & me##ageme##age -" "/. /. DATA: DATA : END OF !t_a)$. !t_a)$.
DATA: DATA : BE6IN OF re#u)t& re#u)t& ewa0b!))date TYPE #tr!ng& #tr!ng& ewa0b!))no TYPE #tr!ng& #tr!ng& $a)!dupto TYPE #tr!ng& #tr!ng& END OF re#u)t. re#u)t. DATA: DATA : BE6IN OF !t_re#u)t& !t_re#u)t& #u++e## TYPE #tr!ng& #tr!ng & re#u)t IE re#u)t& re#u)t & me##age TYPE #tr!ng& #tr!ng & END OF !t_re#u)t. !t_re#u)t. 1EAD TABE gt_$br% INTO g#_$br% INDE; ". *LV_VBEL% 1 GS_VB#-VBEL%(
DATA: g#_)og TYPE zewb_)og. DATA: zewb_)og . g#_)og7 g#_)og7+date < #07 #07datum. datum. g#_)og7 g#_)og7+t!me < #07 #07uze!t. uze!t. g#_)og7 g#_)og7$be)n < g#_$br%7 g#_$br%7$be)n. $be)n. g#_)og7 g#_)og7t+ode < #07 #07t+ode. t+ode.
IF gt_$brp=> I2 NOT INITIA. INITIA. IF gt_$brp=> I2 INITIA AND gt_$br%=> I2 INITIA AND gt_%om$=> I2 INITI A. A . g#_)og7 g#_)og7me##age < ?In$o!+e deta!)# m!##!ng.?. m!##!ng.?. g#_)og7 g#_)og7#tatu# < ?F? ?F?. . @ODIFY zewb_)og F1O@ g#_)og. g#_)og . E;IT. E;IT . ENDIF. ENDIF . CA FUNCTION ?E3B_6ET_IN_DETAI2? TABE2 gt_$brp < gt_$brp gt_$br% < gt_$br% gt_%om$ < gt_%om$ gt_'eader < gt_'eader gt_!tem < gt_!tem. gt_!tem . 1EAD TABE gt_'eader INTO g#_'eader 3IT4 EY d$a)!d < ?N? ?N?. . IF #07 #07#ubr+ < . g#_)og7 g#_)og7me##age < g#_'eader7 g#_'eader7dme##age. dme##age . g#_)og7 g#_)og7#tatu# < ?F? ?F?. . @ODIFY zewb_)og F1O@ g#_)og. g#_)og . E;IT. E;IT . ENDIF. ENDIF . IF gt_'eader=> I2 INITIA O1 gt_!tem=> I2 INITIA. INITIA.
g#_)og7me##age < ?In$o!+e 4eader deta!)# not e,tra+ted.?. g#_)og7#tatu# < ?F?. @ODIFY zewb_)og F1O@ g#_)og. E;IT. ENDIF. ENDIF.
********************************************************************** * !reparin) Inoice /ata( OOP AT gt_'eader INTO g#_'eader.
!t_!n$7#upp)0t0pe < ?O?. !t_!n$7#ub#upp)0t0pe < ?"?. !t_!n$7do+t0pe < g#_'eader7zdo+t0p. "2I%V2( !t_!n$7do+no < g#_'eader7$be)n.
CONCATENATE g#_'eader75%dat-/ g#_'eader75%dat9-/ g#_'eader7 5%dat-9/ INTO !t_!n$7do+date 2EPA1ATED BY ??. * it_in-docdate 1 234536567382( * it_in-fro9)0tin 1 274AAAG63343%2( " )0_;eader-f_)0tin( "274AAAG63 343%2( ")0_;eader-f_)0tin(
IF #07#0#!d < ?OCP?. "!roduction !t_!n$75romg#t!n < g#_'eader75_g#t!n. !t_!n$7tog#t!n < g#_'eader7t_g#t!n. E2E. !t_!n$75romg#t!n < ?GAAAC6""G1"N?. !t_!n$7tog#t!n < ?GAAAC6"9A"?. ENDIF.
!t_!n$75romtrdname < ?O1IENT CE@ENT TD?. ")0_;eader-f_na9e3( !t_!n$75romaddr" < g#_'eader75_ad)!ne". !t_!n$75romaddr < g#_'eader75_ad)!ne. !t_!n$75romp)a+e < g#_'eader75_ort". !t_!n$75romp!n+ode < g#_'eader75_p#t)z. !t_!n$7a+t5rom#tate+ode < g#_'eader75_reg!o. !t_!n$75rom#tate+ode < g#_'eader75_reg!o. !t_!n$7totrdname < g#_'eader7t_name. !t_!n$7toaddr" < g#_'eader7t_#tr_#upp)". !t_!n$7toaddr < g#_'eader7t_#tr_#upp). !t_!n$7top)a+e < g#_'eader7t_ort". !t_!n$7top!n+ode < g#_'eader7t_p#t)z. !t_!n$7a+tto#tate+ode < g#_'eader7t_reg!o. !t_!n$7to#tate+ode < g#_'eader7t_reg!o. !t_!n$7tota)$a)ue < g#_'eader7totnet$a)." %et Value ")0_;eader-total( "%et < Ta=
CONDEN2E !t_!n$7tota)$a)ue. !t_!n$7+g#t$a)ue < g#_'eader7+g#t$a). CONDEN2E !t_!n$7+g#t$a)ue. !t_!n$7#g#t$a)ue < g#_'eader7#g#t$a). CONDEN2E !t_!n$7#g#t$a)ue. !t_!n$7!g#t$a)ue < g#_'eader7!g#t$a).
CONDEN2E !t_!n$7!g#t$a)ue. !t_!n$7+e##$a)ue < g#_'eader7+e##$a). CONDEN2E !t_!n$7+e##$a)ue. !t_!n$7tot!n$$a)ue < g#_'eader7tot$a). "%et < Ta= ")0_;eadertotnetal(" %et Value "2>?4@82( CONDEN2E !t_!n$7tot!n$$a)ue.
!t_!n$7tran#porter!d < ??. !t_!n$7tran#portername < g#_'eader7ztran#name. !t_!n$7tran#do+no < g#_'eader7ztran#do+. !t_!n$7tran#mode < g#_'eader7tran#mode. "232( !t_!n$7tran#d!#tan+e < g#_'eader7ztran#d!#t. "2642( " CONCATENATE g#_'eader7ztran#dt-/ g#_'eader7ztran#dt9-/ g#_'eader7 ztran#dt-9/ INTO !t_!n$7tran#do+date 2EPA1ATED BY ??. * it_in-tran0docdate 1 )0_;eader-tran0dt(
*
* *
!t_!n$7$e'!+)eno < g#_'eader7#!gn!. !t_!n$7$e'!+)et0pe < ?1?.
"2!V36?>2(
DATA: )$_de+ TYPE +'ar". OOP AT gt_!tem INTO g#_!tem 34E1E $be)n < g#_'eader7$be)n. CA FUNCTION ?CONE12ION_E;IT_AP4A_OUTPUT? E;PO1TIN6 !nput < g#_!tem7matnr I@PO1TIN6 output < g#_!tem7matnr. !tem)!#t7produ+tname < g#_!tem7ar%t,. ")0_ite9-9atnr( !tem)!#t7produ+tde#+ < g#_!tem7ar%t,. !tem)!#t7'#n+ode < g#_!tem7#teu+. !tem)!#t7(uant!t0 < g#_!tem75%!mg. S!LIT ite9li0t-Cuantit' AT 2(2 I%T$ ite9li0t-Cuantit' l_dec( CONDEN2E !tem)!#t7(uant!t0 NO76AP2. 2EECT 2IN6E ewb_uom F1O@ zewb_uom INTO !tem)!#t7(t0un!t &DEE 0ap_uo9 1 2MT2 ( 34E1E #ap_uom < g#_!tem7$r%me. ite9li0t-Ct'unit 1 2MTS2( ")0_ite9-r,9e( !tem)!#t7+g#trate < g#_!tem7+g#t. CONDEN2E !tem)!#t7+g#trate. !tem)!#t7#g#trate < g#_!tem7#g#t. CONDEN2E !tem)!#t7#g#trate. !tem)!#t7!g#trate < g#_!tem7!g#t. CONDEN2E !tem)!#t7!g#trate. !tem)!#t7+e##rate < ??. CONDEN2E !tem)!#t7+e##rate. !tem)!#t7+e##ad$o) < ??. CONDEN2E !tem)!#t7+e##ad$o). !tem)!#t7ta,ab)eamount < g#_!tem7tot$a). CONDEN2E !tem)!#t7ta,ab)eamount. APPEND !tem)!#t TO !t_!n$7!tem)!#t. CEA1:g#_!tem.
ENDOOP.
CA FUNCTION ?E3B_6ET_TOEN? I@PO1TIN6 to%en < to%en me##age < to%en_me##age. IF to%en I2 INITIA. IF to%en_me##age I2 NOT INITIA. g#_)og7me##age < to%en_me##age. E2E. g#_)og7me##age < ?To%en not a)!d?. ENDIF. g#_)og7#tatu# < ?F?. @ODIFY zewb_)og F1O@ g#_)og. E;IT. ENDIF.
CEA1: )$_*#on_+'ar. CA FUNCTION ?E3B_IN_TO_H2ON? E;PO1TIN6 !t_!n$ < !t_!n$ I@PO1TIN6 *#on_out < )$_*#on_+'ar. IF )$_*#on_+'ar I2 INITIA. g#_)og7me##age < ?H2ON Con$er#!on 5a!)ed?. g#_)og7#tatu# < ?F?. @ODIFY zewb_)og F1O@ g#_)og. E;IT. ENDIF. * )0_lo)-S$% 1 l_0on_c;ar( )$_5g#t!n < !t_!n$75romg#t!n. CA FUNCTION ?E3B_6EN_F1O@_H2ON? E;PO1TIN6 *#on_!n < )$_*#on_+'ar $be)n < g#_$br%7$be)n to%en < to%en 5_g#t!n < )$_5g#t!n I@PO1TIN6 re#pon#e < )$_re#pon#e re(ue#t!d < re(ue#t!d. !t_a)$7do+no < g#_$br%7$be)n. *************************************************************************** ********************************* ************************************************0on to Ita+*************** ********************************* *************************************************************************** ********************************* *#on_out < )$_re#pon#e. DATA: re#_)en-"/ TYPE n. re#_)en < #tr)en- )$_re#pon#e /.
* *
*
g#_re(7re(ue#t!d < re(ue#t!d. g#_re(7ap!t0pe < ?6EN?. )0_reC-0on 1 l_0on_c;ar( )0_reC-re0pon0e 1 l_re0pon0e( IF re#_)en 6T ". g#_re(7re#pon#e < )$_re#pon#e-"/. E2E. g#_re(7re#pon#e < )$_re#pon#e. ENDIF. g#_re(7+date < #07datum. g#_re(7+t!me < #07uze!t. @ODIFY zewb_re( F1O@ g#_re(.
IF *#on_out-"/ < ??. )0_lo)-ES!$%SE 1 l_re0pon0e( CEA1: !t_re#u)t. +)_5dt_*#on
IF !t_re#u)t7#u++e## < ?true?. !t_a)$7#tatu# < ?2u++e##?. E2E. !t_a)$7#tatu# < ?Fa!)ed?. ENDIF. !t_a)$7ewbno < !t_re#u)t7re#u)t7ewa0b!))no. !t_a)$7ewbdt < !t_re#u)t7re#u)t7ewa0b!))date. !t_a)$7$a)!d5rom < !t_re#u)t7re#u)t7ewa0b!))date. !t_a)$7$a)!dto < !t_re#u)t7re#u)t7$a)!dupto. !t_a)$7me##age < !t_re#u)t7me##age. IF !t_a)$7#tatu# < ?2u++e##?. "Update t;e Lo)0 if 0ucce00(
*
1EF1E24:gt_'eader"=>. gt_'eader" < gt_'eader=>. /ELETE )t_;eader3 &DEE +eln %E it_al-docno( "Addition( CEA1:g#_'eader". 1EAD TABE gt_'eader" INTO g#_'eader" 3IT4 EY $be)n < !t_a)$7
do+no. IF #07#ubr+ EK . g#_'eader"7ewbno < !t_a)$7ewbno. *it_al-e+dt 1 23657@5673 36:48:77 !M2( "Actual For9at( CONCATENATE !t_a)$7ewbdt-9/ !t_a)$7ewbdt8-/ !t_a)$7 ewbdt-/ INTO g#_'eader"7ewbdt. CONCATENATE !t_a)$7ewbdt""-/ !t_a)$7ewbdt"9-/ !t_a)$7 ewbdt"L-/ INTO g#_'eader"7ewbtm.
g#_'eader"7$a)!d5rom < !t_a)$7$a)!d5rom. g#_'eader"7$a)!dto < !t_a)$7$a)!dto. IF !t_a)$7#tatu# < ?2u++e##?.
g#_'eader"7#tatu# < ?2?. E2E. g#_'eader"7#tatu# < ?F?. ENDIF. g#_'eader"7me##age < !t_a)$7me##age. * )0_;eader3-+u,r0 1 it_al-+u,r0( g#_'eader"7ewbb0 < #07uname. * SELET SI%GLE e+no F$M e+_in I%T$ l_e+no &DEE +eln 1 it _al-docno( * IF 0'-0u+rc 1 7( * )0_;eader3-e+t'pe 1 2EGE%2( * ELSE( g#_'eader"7ewbt0pe < ?NE3?. * E%/IF( g#_'eader"7re(ue#t!d < re(ue#t!d. @ODIFY zewb_!n$ F1O@ g#_'eader". * U!/ATE e+_in F$M )0_;eader3( ENDIF. *Ite9 1EF1E24:gt_!tem"=>. gt_!tem" < gt_!tem=>. DEETE gt_!tem" 34E1E $be)n NE !t_a)$7do+no. CEA1:g#_!tem". 1EAD TABE gt_!tem" INTO g#_!tem" 3IT4 EY $be)n < !t_a)$7do+no. IF #07#ubr+ EK . g#_!tem"7ewbno < !t_a)$7ewbno. @ODIFY zewb_!n$!tem F1O@ g#_!tem". ENDIF. *************************************************************************** ***************************************************************** * Update e+_lo)( g#_)og7+date < #07datum. g#_)og7+t!me < #07uze!t. g#_)og7$be)n < !t_a)$7do+no. g#_)og7t+ode < #07t+ode. g#_)og7me##age < !t_a)$7me##age. g#_)og7#tatu# < ?2?. g#_)og7ewbno < !t_re#u)t7re#u)t7ewa0b!))no. g#_)og7ewbdt < g#_'eader"7ewbdt. g#_)og7ewbtm < g#_'eader"7ewbtm. IF re#_)en 6T ". g#_)og7re#pon#e < )$_re#pon#e-"/. E2E. g#_)og7re#pon#e < )$_re#pon#e. ENDIF. * )0_lo)-0on 1 l_0on_c;ar( @ODIFY zewb_)og F1O@ g#_)og. CEA1: g#_)og. * )0_lo)-MESSAGE 1 it_re0ult-MESSAGE(
*************************************************************************** *****************************************************************
E2E. *************************************************************************** ***************************************************************** * Update e+_lo)( g#_)og7+date < #07datum. g#_)og7+t!me < #07uze!t. g#_)og7$be)n < !t_a)$7do+no. g#_)og7t+ode < #07t+ode. g#_)og7me##age < !t_a)$7me##age. g#_)og7#tatu# < ?F?. * )0_lo)-e+no 1 it_re0ult-re0ult-ea'+illno( * )0_lo)-e+dt 1 )0_;eader3-e+dt( * )0_lo)-e+t9 1 )0_;eader3-e+t9( IF re#_)en 6T ". g#_)og7re#pon#e < )$_re#pon#e-"/. E2E. g#_)og7re#pon#e < )$_re#pon#e. ENDIF. * )0_lo)-0on 1 l_0on_c;ar( @ODIFY zewb_)og F1O@ g#_)og. CEA1: g#_)og. * )0_lo)-MESSAGE 1 it_re0ult-MESSAGE(
*************************************************************************** ***************************************************************** ENDIF. E2E. CEA1: !t_error. +)_5dt_*#on
*
*
)0_lo)-0on 1 l_0on_c;ar( @ODIFY zewb_)og F1O@ g#_)og. CEA1: g#_)og. )0_lo)-MESSAGE 1 it_re0ult-MESSAGE(
*************************************************************************** ***************************************************************** *End of odin) a0 per pro)ra9 *************************************************************************** ***************************************************************** ********************************************************************** ENDIF. E2E. * Update e+_lo)( g#_)og7+date < #07datum. g#_)og7+t!me < #07uze!t. g#_)og7$be)n < !t_a)$7do+no. g#_)og7t+ode < #07t+ode. g#_)og7me##age < ?1e#pon#e not !n H2ON 5ormat.?. g#_)og7#tatu# < ?F?. * )0_lo)-e+no 1 it_re0ult-re0ult-ea'+illno( * )0_lo)-e+dt 1 )0_;eader3-e+dt( * )0_lo)-e+t9 1 )0_;eader3-e+t9( IF re#_)en 6T ". g#_)og7re#pon#e < )$_re#pon#e-"/. E2E. g#_)og7re#pon#e < )$_re#pon#e. ENDIF. * )0_lo)-0on 1 l_0on_c;ar( @ODIFY zewb_)og F1O@ g#_)og. CEA1: g#_)og. ENDIF. CEA1: !t_!n$. 1EF1E24: !t_!n$7!tem)!#t. 1EF1E24: !tem)!#t. CEA1: !tem)!#t. ENDOOP. * *
E%/IF( E%/IF(
ENDFUNCTION.
ZEWB_GEN_FROM_JSON
FUNCTION zewb_gen_5rom_*#on . *"---------------------------------------------------------------------*"*"Local Interface: *" IM!$TI%G *" EFEE%EHS$%_I% T!E TBJ_STI%G *" EFEE%EHVBEL% T!E VB#-VBEL% *" EFEE%EHT$#E% T!E TBJ_STI%G *" EFEE%EHF_GSTI% T!E FGSTI% *" EJ!$TI%G *" EFEE%EHES!$%SE T!E TBJ_STI%G *" EFEE%EHEKUESTI/ T!E DA377 *"---------------------------------------------------------------------DATA: )$_'ttp_+ode TYPE !& )$_'ttp_rea#on TYPE #tr!ng. DATA: to%en TYPE #tr!ng. DATA: )$_ur) TYPE #tr!ng . "VALUE 2;ttp0:55)0p(adaeCuare(co95te0t5enric;e d5e+5ea'apiaction1GE%E&ABILL2( DATA: )$_pa0)oad TYPE #tr!ng. DATA: re(!d TYPE #tr!ng. DATA: )$_pa0)oad_, TYPE ,#tr!ng. DATA: )o_'ttp_+)!ent TYPE 1EF TO !5_'ttp_+)!ent. DATA: uname TYPE #tr!ng& pa##word TYPE #tr!ng& g#t!n TYPE #tr!ng& )$_uname TYPE zzuname& )$_pa##word TYPE zzpwd. *Generate E &a' Bill( CEA1: )$_pa0)oad_,& )$_pa0)oad. )$_pa0)oad < *#on_!n. CEA1: )$_ur). 2EECT 2IN6E ur) F1O@ zewb_ur) INTO )$_ur) 34E1E ap!t0pe < ?6EN? AND #0# !d < #07#0#!d. IF #07#ubr+ MJ . * MESSAGE 2UL not 9aintained in E&B_UL(2 T!E 2E2( E;IT. ENDIF. CEA1: )o_'ttp_+)!ent. +)_'ttp_+)!ent
OT4E12 IF #07#ubr+ MJ . 1ETU1N. ENDIF.
< 9 /.
CA FUNCTION ?2C@2_2T1IN6_TO_;2T1IN6? E;PO1TIN6 te,t < )$_pa0)oad I@PO1TIN6 bu55er < )$_pa0)oad_,. IF #07#0#!d < ?OCP?.
CEA1: )$_uname& )$_pa##word& uname& g#t!n& pa##word. CA FUNCTION ?E3B_U2E1_PA223O1D? E;PO1TIN6 5_g#t!n < 5_g#t!n I@PO1TIN6 uname < )$_uname pa##word < )$_pa##word.
g#t!n < 5_g#t!n. uname < )$_uname. pa##word < )$_pa##word.
CA @ET4OD )o_'ttp_+)!ent7Jre(ue#t7J#et_'eader_5!e)d E;PO1TIN6 name < ?u#ername? $a)ue < uname. CA @ET4OD )o_'ttp_+)!ent7Jre(ue#t7J#et_'eader_5!e)d E;PO1TIN6 name < ?pa##word? $a)ue < pa##word.
CA @ET4OD E;PO1TIN6 name < $a)ue < E2E. CA @ET4OD E;PO1TIN6 name < $a)ue <
)o_'ttp_+)!ent7Jre(ue#t7J#et_'eader_5!e)d ?g#t!n? g#t!n. )o_'ttp_+)!ent7Jre(ue#t7J#et_'eader_5!e)d ?u#ername? ?GAAAC6""G1"N? .
CA @ET4OD )o_'ttp_+)!ent7Jre(ue#t7J#et_'eader_5!e)d E;PO1TIN6 name < ?pa##word? $a)ue < ?ab+"8?. CA @ET4OD )o_'ttp_+)!ent7Jre(ue#t7J#et_'eader_5!e)d E;PO1TIN6
name < ?g#t!n? $a)ue < ?GAAAC6""G1"N? . ENDIF.
CONCATENATE ?E3B_6EN_? $be)n ?_? #07datum #07uze!t INTO re(!d. CA @ET4OD )o_'ttp_+)!ent7Jre(ue#t7J#et_'eader_5!e)d E;PO1TIN6 name < ?re(ue#t!d? $a)ue < re(!d. to%en < to%en. re(ue#t!d < re(!d. CA @ET4OD )o_'ttp_+)!ent7Jre(ue#t7J#et_'eader_5!e)d E;PO1TIN6 name < ?Aut'or!zat!on? $a)ue < to%en.
)o_'ttp_+)!ent7Jre(ue#t7J#et_met'od- ?PO2T? /. )o_'ttp_+)!ent7Jre(ue#t7J#et_+ontent_t0pe - ?app)!+at!on*#on? /. )o_'ttp_+)!ent7Jre(ue#t7J#et_data- )$_pa0)oad_, /. * Sendin) t;e reCue0t )o_'ttp_+)!ent7J#endE;CEPTION2 'ttp_+ommun!+at!on_5a!)ure < " 'ttp_!n$a)!d_#tate < /. * eceiin) t;e re0pon0e )o_'ttp_+)!ent7Jre+e!$eE;CEPTION2 'ttp_+ommun!+at!on_5a!)ure < " 'ttp_!n$a)!d_#tate < 'ttp_pro+e##!ng_5a!)ed < 8 /. IF #07#ubr+ MJ . ENDIF. 2IP. re#pon#e < )o_'ttp_+)!ent7Jre#pon#e7Jget_+data- /. *)et t;e 0tatu0 of t;e re0pon0e CA @ET4OD )o_'ttp_+)!ent7Jre#pon#e7Jget_#tatu# I@PO1TIN6 +ode < )$_'ttp_+ode rea#on < )$_'ttp_rea#on.
ENDFUNCTION.
ZEWB_GET_INV_DETAILS
FUNCTION zewb_get_!n$_deta!)# . *"---------------------------------------------------------------------*"*"Local Interface: *" TABLES *" GT_VB! STUTUE VB! *" GT_VB# STUTUE VB# *" GT_#$MV STUTUE #$%V *" GT_DEA/E STUTUE E&B_I%V *" GT_ITEM STUTUE E&B_I%VITEM *"----------------------------------------------------------------------
TYPE2:BE6IN OF t0_$bpa& $be)n TYPE $be)n_$a& %unnr TYPE %unnr& adrnr TYPE adrnr& ,+pd% TYPE ,+pd%& END OF t0_$bpa.
TYPE2: BE6IN OF t0_$b5a& $be)$ TYPE $b5a7$be)$& po#n$ TYPE $b5a7po#n$& $be)n TYPE $b5a7$be)n& po#nn TYPE $b5a7po#nn& $bt0p_n TYPE $b5a7$bt0p_n& $bt0p_$ TYPE $b5a7$bt0p_$& END OF t0_$b5a.
DATA: BE6IN OF g#_return& #)no-/& t0pe-"/& me##age-"/& END OF g#_return.
DATA: gt_return !t_ewb !t_e!tem gt_$ttp gt_$b5a gt_$tt% DATA:
IE IE IE TYPE TYPE TYPE
g#_!tem )$_%#tbm )$_%num' )$_$ar )$_temp +ount-/ g#_$bpa g#_adr+ g#_t"w g#_$br% g#_'eader
g#_return OCCU12 3IT4 4EADE1 INE& zewb_!n$ OCCU12 3IT4 4EADE1 INE& zewb_!n$!tem OCCU12 3IT4 4EADE1 INE& TABE OF $ttp& TABE OF t0_$b5a& TABE OF $tt%. TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE TYPE
zewb_!n$!tem& %#tbm& %num'& +'ar9& +'ar"G& n& t0_$bpa& adr+& t"w& $br%& zewb_!n$&
g#_$b5a g#_%om$ g#_$tt% g#_$brp )$_$#art )$_depot-"/ )$_5a+tor0-"/ DATA: e_)rno TYPE CON2TANT2: +_*o+g +_*o#g +_*o!g +_z5rt +_, +_* +_ CEA1:
TYPE TYPE TYPE TYPE TYPE TYPE TYPE
t0_$b5a& %om$& $tt%& $brp& $#art& +& +.
z)rno. TYPE +'ar9 AUE ?HOC6?& TYPE +'ar9 AUE ?HO26?& TYPE +'ar9 AUE ?HOI6?& TYPE +'ar9 AUE ?F1T?& TYPE + AUE ?;?& TYPE +'ar" AUE ?H?& TYPE +'ar" AUE ??.
g#_!tem& )$_%#tbm& )$_%num'& )$_$ar& )$_temp& +ount-/& g#_$bpa& g#_adr+& g#_t"w& g#_$br%& g#_'eader& g#_$b5a& g#_%om$& g#_$tt%& g#_$brp& )$_$#art& )$_depot& )$_5a+tor0.
1EF1E24: gt_$tt%& gt_$ttp& gt_$b5a& gt_return& !t_ewb& !t_e!tem& gt_'eader=>& gt_!tem=>.
*---ead Ite9 1EAD TABE gt_$brp INTO g#_$brp INDE; ". IF g#_$brp7wer%# < ?"? O1 g#_$brp7wer%# < ?? O1 g#_$brp7wer%# < ?8?. )$_5a+tor0 < ?;?. E2E.
)$_depot < ?;?. ENDIF. 2EECT $be)$ po#n$ $be)n po#nn $bt0p_n $bt0p_$ F1O@ $b5a INTO TABE gt_$b5a FO1 A ENT1IE2 IN gt_$brp 34E1E $be)$ < gt_$brp7$gbe) AND $bt0p_n < +_ AND $bt0p_$ < +_*. IF #07#ubr+ EK . IF gt_$b5a=> I2 NOT INITIA. 2EECT F1O@ $tt% INTO TABE gt_$tt% FO1 A ENT1IE2 IN gt_$b5a 34E1E t%num < gt_$b5a7$be)n. ENDIF. ENDIF. CEA1:g#_$brp. 1EF1E24:gt_'eader=>. OOP AT gt_$br% INTO g#_$br%.
g#_'eader7$be)n < g#_$br%7$be)n. g#_'eader7bu%r# < g#_$br%7bu%r#. g#_'eader75%dat < g#_$br%75%dat. 1EF1E24: gt_return. CEA1: +ount. OOP AT gt_$brp INTO g#_$brp. " &DEE +eln 1 )0_+r,-+eln( g#_'eader7wer%# < g#_$brp7wer%#. 2EECT 2IN6E $#art F1O@ )!%p INTO )$_$#art 34E1E $be)n < g#_$brp7$gbe). IF #07#ubr+ EK . IF #07t+ode < ?F"?. IF )$_$#art < ?8?. "ail not to +e included in VF73( CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?1a!) mode not a))owed.?. +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. CONTINUE. ENDIF. ENDIF.
fferent
*
IF )$_$#art EK ?8? O1 )$_$#art EK ?"?. " 73 Truc,( 7?( ail( IF )$_$#art < ?8?. "ail( g#_'eader7tran#mode < ??. ENDIF. IF )$_$#art < ?"?. "Truc,( g#_'eader7tran#mode < ?"?. ENDIF. CEA1:g#_$bpa. 2EECT 2IN6E $be)n %unnr adrnr ,+pd% F1O@ $bpa INTO g#_$bpa 34E1E $be)n < g#_$brp7$gbe) AND par$w < ?3E?. "S;ip to !art'( IF #07#ubr+ EK . IF g#_$bpa7adrnr I2 NOT INITIA. 2EECT 2IN6E F1O@ adr+ INTO g#_adr+ 34E1E addrnumber < g#_$bpa7adrnr. IF #07#ubr+ EK . g#_'eader7t_name < g#_adr+7name". IF g#_$br%7%unag NE g#_$bpa7%unnr. g#_'eader7t_#tr_#upp)" g#_'eader7t_#tr_#upp) E2E. g#_'eader7t_#tr_#upp)" g#_'eader7t_#tr_#upp) ENDIF.
"Sold to and S;ip to di
< g#_adr+7name". < g#_adr+7#tr_#upp)". < g#_adr+7#tr_#upp)". < g#_adr+7#tr_#upp).
g#_'eader7t_p#t)z < g#_adr+7po#t_+ode". /e0tination fro9 Inoice Ite9( 2EECT 2IN6E beze! F1O@ tm5gt INTO g#_'eader7t_ort" 34E1E m5rgr < g#_$brp7m5rgr. 2EECT 2IN6E go$_reg_+ode F1O@ z#d_#tate_go$ INTO g#_'eader7t_reg!o 34E1E #ap_reg_+ode < g#_adr+7reg!on. IF g#_'eader7t_p#t)z I2 INITIA. CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?To P!n+ode not ma!nta!ned?. +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. ENDIF. ENDIF.
ant?.
E2E. CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?2'!pp!ng Addre## not @a!nta!ned?. +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. ENDIF. 2EECT 2IN6E #t+d8 name" F1O@ %na" INTO -g#_'eader7t_g#t!n&g#_'eader7t_name/ 34E1E %unnr < g#_$br%7%unag. IF #07#ubr+ MJ . CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?To 62TIN not ma!nta!ned?. +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. ENDIF. ENDIF. 2EECT 2IN6E g#t!n F1O@ *_"bbran+' INTO g#_'eader75_g#t!n 34E1E bran+' < g#_$br%7bup)a. IF #07#ubr+ EK . 2EECT 2IN6E F1O@ t"w INTO g#_t"w 34E1E wer%# < g#_$brp7wer%#. IF g#_t"w7p#t)z I2 INITIA. CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?Po#ta) Code not @a!nta!ned 5or 2our+e P) +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return.
E2E. g#_'eader75_name" < g#_t"w7name". g#_'eader75_ad)!ne" < g#_t"w7#tra#. g#_'eader75_ort" < g#_t"w7ort". g#_'eader75_p#t)z < g#_t"w7p#t)z. 2EECT 2IN6E go$_reg_+ode F1O@ z#d_#tate_go$ INTO g#_'eader75_reg!o 34E1E #ap_reg_+ode < g#_t"w7reg!o.
*
)0_;eader-fre)io 1 )0_t773-re)io( ENDIF. E2E. CEA1: g#_return. g#_return7t0pe < ?E?. CONCATENATE ?From 62TIN m!##ed 5or Bu#. P)a+e:? g#_$br%7bup)a I NTO g#_return7me##age. * )0_return-MESSAGE 1 2!L2( +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. ENDIF. *** S;ip to Addre00( * Ite9
detail0 g#_!tem7$be)n < g#_$br%7$be)n. g#_!tem7po#nr < g#_$brp7po#nr. g#_!tem7matnr < g#_$brp7matnr. g#_!tem7ar%t, < g#_$brp7ar%t,. g#_!tem75%!mg < g#_$brp75%!mg. g#_!tem7$r%me < g#_$brp7$r%me. g#_!tem7tot$a) < g#_$brp7netwr. OOP AT gt_%om$ INTO g#_%om$. CA2E g#_%om$7%#+'). 34EN +_*o+g. g#_!tem7+g#t < g#_%om$7%betr ". g#_'eader7+g#t$a) < g#_%om$7%wert. 34EN +_*o#g. g#_!tem7#g#t < g#_%om$7%betr ". g#_'eader7#g#t$a) < g#_%om$7%wert. 34EN +_*o!g. g#_!tem7!g#t < g#_%om$7%betr ". g#_'eader7!g#t$a) < g#_%om$7%wert. ENDCA2E. CEA1:g#_%om$. ENDOOP.
2EECT 2IN6E #teu+ F1O@ mar+ INTO g#_!tem7#teu+ 34E1E matnr < g# _$brp7matnr AND wer%# < g#_$brp7wer%#. IF #07#ubr+ MJ . * &ITE:5 2DS% ode not 9aintained for Material:2. )0_+rp9atnr( CEA1: g#_return. g#_return7t0pe < ?E?. CONCATENATE ?42N Code m!##ed !n @ater!a):? g#_$brp7matnr INTO g #_return7me##age. +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return.
ENDIF. g#_'eader7totnet$a) < g#_$br%7netwr.
g#_'eader7tot$a) < g#_$br%7netwr g#_$br%7mw#b%. APPEND g#_!tem TO gt_!tem. CEA1: g#_!tem& g#_$tt%. 1EAD TABE gt_$b5a INTO g#_$b5a 3IT4 EY $be)$ < g#_$brp7$gbe). IF #07#ubr+ EK . 1EAD TABE gt_$tt% INTO g#_$tt% 3IT4 EY t%num < g#_$b5a7$be)n. IF #07#ubr+ EK . 2EECT 2IN6E name" F1O@ )5a" INTO g#_'eader7ztran#name 34E1E )!5nr < g#_$tt%7td)nr. IF #07#ubr+ EK . g#_'eader7#!gn! < g#_$tt%7#!gn!. ENDIF. IF )$_5a+tor0 < ?;?. 2EECT 2IN6E )rno F1O@ z#dt!nout INTO g#_'eader7ztran#do+ 34E1E #no < g#_$tt%7tndr_tr%!d. E2E. g#_'eader7ztran#do+ < g#_$tt%7te,t9. CONDEN2E g#_'eader7ztran#do+ NO76AP2. ENDIF. ENDIF. ENDIF. E2E. CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?Tran#port @ode !# not 5ea#!b)e?. +ount < +ount ". g#_return7#)no < +ount.
APPEND g#_return TO gt_return. ENDIF. E2E. g#_return7t0pe < ?E?. g#_return7me##age < ?Tran#port @ode Not ma!nta!ned.?. +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. ENDIF. ENDOOP. g#_'eader7z#upp)0t0p < ?O?. g#_'eader7z#ub#uppt0p < ?"?. g#_'eader7ztran#dt < g#_$br%75%dat.
*/i0tance( DATA: d!#tan+e-"/. 1EAD TABE gt_$brp INTO g#_$brp INDE; ". CA FUNCTION ?E3B_6ET_T1AN2_DI2T? E;PO1TIN6 )#_$br% < g#_$br% )#_$brp < g#_$brp I@PO1TIN6
e_%#tbm < d!#tan+e. CONDEN2E d!#tan+e. g#_'eader7ztran#d!#t < d!#tan+e.
*
*;ec, for /oc T'pe Ta= Inoice or /elier' ;allan( IF g#_$br%75%art < ?F? O1 g#_$br%75%art < ?62"? O1 g#_$br%75%art < ? 62?. "ST$ IF g#_'eader75_reg!o < g#_'eader7t_reg!o. g#_'eader7zdo+t0p < ?C4?. E2E. g#_'eader7zdo+t0p < ?IN?. ENDIF. E2E. g#_'eader7zdo+t0p < ?IN?. ENDIF.
IF g#_'eader7ztran#do+ I2 INITIA O1 g#_'eader7ztran#dt I2 INITIA. CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?Tran#port Do+. Deta!)# m!##!ng?. +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. ENDIF.
?.
IF g#_'eader7tran#mode < ?"?. IF g#_'eader7#!gn! I2 INITIA. CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?e'!+)e No. @!##!ng.?. +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. ENDIF. ENDIF. IF g#_'eader75_reg!o < g#_'eader7t_reg!o. g#_'eader7tt0pe < ?INT1A?. IF g#_$br%7$tweg MJ ?8?. "SE a0e( IF g#_'eader7!g#t$a) NE . CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?In$a)!d Ta, 1ate 5or Intra 2tate Tran#a+t!on +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. ENDIF. ENDIF. E2E.
?.
g#_'eader7tt0pe < ?INTE1?. IF g#_$br%7$tweg MJ ?8?. "SE a0e( IF g#_'eader7!g#t$a) < . CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?In$a)!d Ta, 1ate 5or Inter 2tate Tran#a+t!on +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. ENDIF. ENDIF. ENDIF.
IF g#_'eader7ztran#d!#t < . CEA1: g#_return. g#_return7t0pe < ?E?. g#_return7me##age < ?Tran#port D!#tan+e m!##!ng?. +ount < +ount ". g#_return7#)no < +ount. APPEND g#_return TO gt_return. ENDIF. DEETE gt_return 34E1E t0pe NE ?E?. 2O1T gt_return A2CENDIN6 BY #)no.
1EAD TABE gt_return INTO g#_return 3IT4 EY t0pe < ?E?. IF #07#ubr+ < . * MESSAGE I/ )0_return-id T!E )0_return-t'pe %UMBE )0_returnnu9+er * I%T$ )0_;eader-d9e00a)e( g#_'eader7dme##age < g#_return7me##age. g#_'eader7d$a)!d < ?N?. "/ata %ot Valid( E2E. g#_'eader7d$a)!d < ?Y?. g#_'eader7dme##age < ?Data a)!d?. ENDIF. APPEND g#_'eader TO gt_'eader. CEA1:g#_'eader. ENDOOP. ENDFUNCTION.
ZEWB_GET_TOKEN
FUNCTION zewb_get_to%en. *"---------------------------------------------------------------------*"*"Local Interface: *" EJ!$TI%G *" EFEE%EHT$#E% T!E TBJ_STI%G *" EFEE%EHMESSAGE T!E DA377 *"---------------------------------------------------------------------DATA: wa_to%en TYPE zewb_to%en. DATA: )$_mdate TYPE #07datum& )$_mt!me TYPE #07uze!t. DATA: +_#tamp-"9/& "urrent Ti9e Sta9p( t_#tamp-"9/. "To,en Ti9e Sta9p( CEA1: to%en. CEA1: wa_to%en. 2EECT 2EECT
@A;- +date / F1O@ zewb_to%en INTO )$_mdate. @A;- +t!me / F1O@ zewb_to%en INTO )$_mt!me 34E1E +date < )$_mdate
. 2EECT 2IN6E F1O@ zewb_to%en INTO wa_to%en 34E1E +date < )$_mdate AND +t!me < )$_mt!me. IF #07#ubr+ < . CONCATENATE #07datum #07uze!t INTO +_#tamp. CONCATENATE wa_to%en7$date wa_to%en7$t!me INTO t_#tamp. IF +_#tamp 6T t_#tamp. me##age < ?To%en E,p!red.?. E;IT. E2E. to%en < wa_to%en7to%en. ENDIF. E2E. me##age < ?To%en not 6enerated.?. E;IT. ENDIF. CONCATENATE ?Bearer? to%en INTO to%en 2EPA1ATED BY #pa+e. ************************************************************************ ***Dardcoded Te0tin)( ** /ATA: te=t3H377. te=t6H377. te=t?H377. te=t>H377( ** IF 0'-0'0id 1 2$/2( ** te=t3 1 2e';+Gci$iIUI3%iI0In4cI@I,pJV(e'6SI@&'nc?AiJS iJ;Io=%TMM/A?MM6L2( ** te=t6 1 2;dJo+?pdGllc'I@&'ST7=FJ7FTUFTKlBUFAiLST7=FJ3%J7VfKV BJ7VJKidLCdG,i$iI=%)=%/M7i3l6FiLT2( ** te=t? 1 2K4$TtA6%i3;9%l$/K3M9MMiL+Gll+nfa&Ki$iE,U%TlB$E VF$/c7KTA6K%'MEM,M6%U'KS(SJt%2( ** te=t> 1 2?rir-/M?J?4@$8dGc@fE0UrCcnCd2( ** $%ATE%ATE te=t3 te=t6 te=t? te=t> I%T$ to,en( ** $%ATE%ATE 2Bearer2 to,en I%T$ to,en SE!AATE/ B 0pace( ** E%/IF ENDFUNCTION.
E3B_IN_TO_H2ON FUNCTION E3B_IN_TO_H2ON. *"---------------------------------------------------------------------*"*"Local Interface: *" IM!$TI%G *" EFEE%EHIT_I%V T!E E&B_ST_I%V *" EJ!$TI%G *" EFEE%EHS$%_$UT T!E TBJ_STI%G *"---------------------------------------------------------------------*conert data to S$% DATA: )o_wr!ter TYPE 1EF TO +)_#,m)_#tr!ng_wr!ter & )o_+on$ TYPE 1EF TO +)_abap_+on$_!n_+e & )$_*#on_#tr!ng TYPE #tr!ng& )$_*#on_!n TYPE ,#tr!ng. DATA: )en-G/. )o_wr!ter < +)_#,m)_#tr!ng_wr!ter
2D_2@2 FUNCTION 2D_2@2. *"---------------------------------------------------------------------*"*"Local Interface: *" IM!$TI%G *" EFEE%EHM$BILE T!E A/_TL%MB3 *" TABLES *" GIT_SMS STUTUE S$LISTI3 *"----------------------------------------------------------------------
DATA:
)d_error TYPE #07#ubr+& )d_re+!e$er TYPE #07#ubr+& )d_mt!t)e IE #odo++'g!"7ob*_de#+r& )d_ema!) IE #om)re+!"7re+e!$er& )d_5ormat TYPE #o_ob*_tp& )d_attde#+r!pt!on TYPE #o_ob*_nam& )d_att5!)ename TYPE #o_ob*_de#& )d_#ender_addre## IE #oe,tre+!"7re+e!$er AUE ?norep)0or !ent+ement.+om?& )d_#ender_addre##_t0pe IE #oe,tre+!"7adr_t0p AUE ?2@TP?& )d_re+e!$er IE #07#ubr+. " 9o+ile T!E 9o+n0( * DATA: do+_data IE #odo++'g!"& g!t_pa+%_)!#t IE #op+%)#t!" OCCU12 3IT4 4EADE1 INE& g!t_+ontent IE #o)!#t!" OCCU12 3IT4 4EADE1 INE& ")it_090 LI#E 0oli0ti3 $US 7 &ITD DEA/E LI%E. g5)_#m# TYPE #o)!#t!" & " $US 7 &ITD DEA/E LI%E. g!t_re+!$e IE #om)re+!" OCCU12 3IT4 4EADE1 INE& !t_)5a" TYPE )5a" OCCU12 3IT4 4EADE1 INE. DATA: )$_te,t TYPE +'arGG.
"LEA: )fl_090( "l_te=t 1 input( "$%ATE%ATE 2Te=t:2 l_te=t into )fl_090 SE!AATE/ B 0pace( "A!!E%/ )fl_090 T$ )it_090(LEA: )fl_090( "LEA: )fl_090( do+_data7do+_#!ze < ". do+_data7ob*_)angu < #07)angu. do+_data7ob*_name < ?2@2?. ****************** CEA1 g!t_pa+%_)!#t. 1EF1E24 g!t_pa+%_)!#t. g!t_pa+%_)!#t7tran#5_b!n < #pa+e. g!t_pa+%_)!#t7'ead_#tart < ".
g!t_pa+%_)!#t7'ead_num < ". g!t_pa+%_)!#t7bod0_#tart < ". DE2C1IBE TABE g!t_#m# INE2 g!t_pa+%_)!#t7bod0_num. g!t_pa+%_)!#t7do+_t0pe < ?1A3?. APPEND g!t_pa+%_)!#t. ****************** "9o+ile 1 2388@6???2( CONCATENATE ? 2@2 R"? mob!)e INTO g!t_re+!$e7re+e!$er. g!t_re+!$e7re+_t0pe < ??. g!t_re+!$e7+om_t0pe < ?PA6?. g!t_re+!$e7not!5_de) < ??. g!t_re+!$e7not!5_nde) < ??. g!t_re+!$e7e,pre## < ?;?. APPEND g!t_re+!$e. CA FUNCTION ?2O_NE3_DOCU@ENT_ATT_2END_API"? E;PO1TIN6 do+ument_data < do+_data put_!n_outbo, < ?;? +omm!t_wor% < ?;? TABE2 pa+%!ng_)!#t < g!t_pa+%_)!#t +ontent#_t,t < g!t_#m# re+e!$er# < g!t_re+!$e E;CEPTION2 too_man0_re+e!$er# < " do+ument_not_#ent < do+ument_t0pe_not_e,!#t < 8 operat!on_no_aut'or!zat!on < 9 parameter_error < G ,_error < en(ueue_error < L OT4E12 < . *E%/IF(
ENDFUNCTION.