2016 Apr 15 5:33 AM
Hi All,
Based on IDOC values need to trigger output type(ZXXX) in delivery ,for that we have created on Output Routine (XXXX943).
by using the call stack with method getting values from IDOC FM to routine passing those values to Field-symbol .some times we may not have
IDOC segment values .when i am trying to pass those values to field-symbol it going to dump like no values assign to fields-symbol.
PERFORM CALLSTACK CHANGING ET_CALLSTACK.
READ TABLE ET_CALLSTACK WITH key progname = 'SAPLYIGSO011'
eventtype = 'FUNC'
eventname = 'XXXXXXXX'
TRANSPORTING NO FIELDS.
if sy-subrc eq 0."1
ASSIGN ('(SAPLYIGSO011)IDOC_CONTRL-MESTYP') to <fs_idoc_msg>.
if <fs_idoc_msg> IS NOT INITIAL."2
lv_idoc_msg = <fs_idoc_msg>.
UNASSIGN <fs_idoc_msg>.
endif."2
if lv_idoc_msg = 'ZIGSO_SHPACK'.
READ TABLE ET_CALLSTACK WITH key progname = 'SAPLYIGSO011'
eventtype = 'FUNC'
eventname = 'XXXXXX'
TRANSPORTING NO FIELDS.
if sy-subrc eq 0."3
ASSIGN ('(SAPLYIGSO011)S_ZDL20)') to <fs_zdl20>.
if <fs_zdl20> is INITIAL."8 ------------------------------> dump because no values ..
sy-subrc = 4.
if <fs_zdl20> IS NOT INITIAL."4
ls_zdl20 = <fs_zdl20>.
UNASSIGN <fs_zdl20>.
endif."4
if ( ls_zdl20-ETADATE IS INITIAL ) or ( ls_zdl20-ETATIME IS INITIAL )
or ( ls_zdl20-ZZETARC IS INITIAL ) or ( ls_zdl20-ZZETARCD IS INITIAL )."5
sy-subrc = '4'.
endif."5
endif."3
endif."8
endif.
Please help me on this.
Best Regards,
Raghava
2016 Apr 15 7:04 AM
Are you sure, that the "variable" using at the ASSIGN is available? At the first assign you access to ICOC_CONTRL e.g.