안녕하세요..
스마트폼에서 고민하다 문의드립니다.
스마트 폼(t-code:smartforms)에서 전역 데이터를 GS_ITEM, GSITEM2로 두가지 모두
LT_ITEM LIKE ZSD003S를 가지고 같은 값을 뿌리고 있습니다.
프로그램의 로직은
거래명세서에서 공급받는자용, 공급자용 두가지로
같은 값을 뿌리고 있는데요.
조건을 주어 OK_FLAG='X'일경우는
공급받는자용의 출하가의 단가(ZSD0003S-NETPR)~매가금액합계(ZSD0003S-SUM_CURRW)부분을
값을 뿌리지 않아야 하는데요..
공급받는자용(GS_ITEM)은 뿌리지 말아야 하고 공급받는자용(GSITEM2)은 뿌려야 합니다.
ZSD0003S에서 공급받는자용과 공급자용이 아래의 필드 한개로 같이사용됩니다.
예를들어 NETPR일경우 ZSD0003S-NETPR로 (공급받는자용), (공급자용)이 같이 씁니다.
<1>
:
NETPR CHAR 11 0 출하가의 단가
NETWR CHAR 11 0 출하가의 금액
~
SUM_CURRW CHAR 11 0 매가금액합계
:
스마트폼에서의 출력은 아래와 같이 gt_item하나로 하고 있구요..
공급받는자용의 출하가의 단가(ZSD0003S-NETPR)~매가금액합계(ZSD0003S-SUM_CURRW)부분을
값을 뿌리지 않으려면 ZSD0003S에서 공급받는자용과 공급자용을 각각 다른필드명으로 구성해야 하나요?
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = tnapr-sform
IMPORTING
fm_name = lf_fm_name
EXCEPTIONS
~
OTHERS = 3.
IF sy-subrc <> 0.
cf_retcode = sy-subrc.
PERFORM protocol_update.
ENDIF.
CALL FUNCTION lf_fm_name
EXPORTING
~
TABLES
it_item = gt_item => 1)
EXCEPTIONS
~
OTHERS = 5.
출력되는 부분이 아래와 같이 되어 있는데
OK_FLAG='X'에 따른 조건문을 주어 출력을 두개로 나누어도
위의 =>1)과 같이 펑션은 하나이므로
공급받는자용과 공급자용은 동일한 출력내용이 나왔습니다.
공급받는자용과 공급자용 둘다 값이 나오던지, 나오지 않던지...
WRITE l_sum_netwr TO gt_item-sum_netwr CURRENCY l_waerk.
CONDENSE gt_item-sum_netwr NO-GAPS.
바쁘시더라도 아는부분이면 답변주시면 감사드리겠습니다...
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = TNAPR-SFORM
IMPORTING
FM_NAME = LF_FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
CF_RETCODE = SY-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDIF.
CALL FUNCTION LF_FM_NAME
EXPORTING
ARCHIVE_INDEX = TOA_DARA
ARCHIVE_PARAMETERS = ARC_PARAMS
CONTROL_PARAMETERS = CS_CONTROL_PARAM
OUTPUT_OPTIONS = CS_COMPOSER_PARAM
MAIL_RECIPIENT = CS_RECIPIENT
MAIL_SENDER = CS_SENDER
USER_SETTINGS = 'X' "' '
IS_HEADER = GS_HEADER
TABLES
IT_ITEM = GT_ITEM
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
IF SY-SUBRC <> 0. =>1)
CF_RETCODE = SY-SUBRC.
PERFORM PROTOCOL_UPDATE.
PERFORM ADD_SMFRM_PROT.
ENDIF.
기존의 스트럭쳐에 필드를 더 추가하고 GT_ITEM를 보면 데이터는 있는데요..
CALL FUNCTION LF_FM_NAME를 읽고 난후 1)부분에서 SY-SUBRC이 1이 나옵니다.
어떤경우에 SY-SUBRC이 1이 뜨나요?