Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

getting error while executing script

Former Member
0 Likes
858

Iam printing a script  for cash payments in fbcj transaction.I collected data from three internal tables into a final internal table.But while executing iam getting error stating that 'write form is invalid start form is missing.here is my code:

PARAMETERS: P_COCODE TYPE TCJ_POSITIONS-COMP_CODE,

             P_BRANCH TYPE TCJ_POSITIONS-CAJO_NUMBER.

DATA: BEGIN OF ITAB1 OCCURS 0,

         COMP_CODE    TYPE TCJ_POSITIONS-COMP_CODE,

         CAJO_NUMBER  TYPE TCJ_POSITIONS-CAJO_NUMBER,

         P_PAYMENTS   TYPE TCJ_POSITIONS-P_PAYMENTS,

         GL_ACCOUNT   TYPE TCJ_POSITIONS-GL_ACCOUNT,

         KOSTL        TYPE TCJ_POSITIONS-KOSTL,

         PRCTR        TYPE TCJ_POSITIONS-PRCTR,

       END OF ITAB1.

  DATA:BEGIN OF ITAB2 OCCURS 0,

         CAJO_NUMBER      TYPE TCJ_DOCUMENTS-CAJO_NUMBER,

         DOCUMENT_DATE    TYPE TCJ_DOCUMENTS-DOCUMENT_DATE,

         DOCUMENT_NUMBER  TYPE TCJ_DOCUMENTS-DOCUMENT_NUMBER,

       END OF ITAB2.

  DATA:BEGIN OF ITAB3 OCCURS 0,

         CAJO_NUMBER TYPE TCJ_CJ_NAMES-CAJO_NUMBER,

         CAJO_NAME  TYPE TCJ_CJ_NAMES-CAJO_NAME,

       END OF ITAB3.

  DATA: BEGIN OF ITAB4 OCCURS 0,

         COMP_CODE    TYPE TCJ_POSITIONS-COMP_CODE,

         CAJO_NUMBER  TYPE TCJ_POSITIONS-CAJO_NUMBER,

         P_PAYMENTS   TYPE TCJ_POSITIONS-P_PAYMENTS,

         GL_ACCOUNT   TYPE TCJ_POSITIONS-GL_ACCOUNT,

         KOSTL        TYPE TCJ_POSITIONS-KOSTL,

         PRCTR        TYPE TCJ_POSITIONS-PRCTR,

         DOCUMENT_DATE    TYPE TCJ_DOCUMENTS-DOCUMENT_DATE,

         DOCUMENT_NUMBER  TYPE TCJ_DOCUMENTS-DOCUMENT_NUMBER,

         CAJO_NAME  TYPE TCJ_CJ_NAMES-CAJO_NAME,

        END OF ITAB4.

  DATA: WA_TAB1 LIKE LINE OF ITAB1,

        WA_TAB2 LIKE LINE OF ITAB2,

        WA_TAB3 LIKE LINE OF ITAB3,

        WA_TAB4 LIKE LINE OF ITAB4.

  SELECT COMP_CODE CAJO_NUMBER P_PAYMENTS GL_ACCOUNT KOSTL PRCTR FROM TCJ_POSITIONS INTO TABLE ITAB1 WHERE COMP_CODE = P_COCODE AND

                                                                                                         CAJO_NUMBER = P_BRANCH.

  SELECT CAJO_NUMBER DOCUMENT_DATE DOCUMENT_NUMBER FROM TCJ_DOCUMENTS INTO TABLE ITAB2 FOR ALL ENTRIES IN ITAB1 WHERE COMP_CODE = ITAB1-COMP_CODE

                                                                                 AND CAJO_NUMBER = ITAB1-CAJO_NUMBER.

SELECT  CAJO_NUMBER CAJO_NAME FROM TCJ_CJ_NAMES INTO TABLE ITAB3 FOR ALL ENTRIES IN ITAB1 WHERE COMP_CODE = ITAB1-COMP_CODE AND

                                                                                     CAJO_NUMBER = ITAB1-CAJO_NUMBER.

   LOOP AT ITAB1 INTO WA_TAB1.

     WA_TAB4-COMP_CODE   = WA_TAB1-COMP_CODE.

     WA_TAB4-CAJO_NUMBER = WA_TAB1-CAJO_NUMBER.

     WA_TAB4-P_PAYMENTS  = WA_TAB1-P_PAYMENTS.

     WA_TAB4-GL_ACCOUNT  = WA_TAB1-GL_ACCOUNT.

     WA_TAB4-KOSTL       = WA_TAB1-KOSTL.

     WA_TAB4-PRCTR       = WA_TAB1-PRCTR.

     READ TABLE ITAB2 WITH KEY CAJO_NUMBER = WA_TAB1-COMP_CODE.

     WA_TAB4-DOCUMENT_DATE   = WA_TAB2-DOCUMENT_DATE.

     WA_TAB4-DOCUMENT_NUMBER = WA_TAB2-DOCUMENT_NUMBER.

     READ TABLE ITAB3 WITH KEY CAJO_NUMBER = WA_TAB1-COMP_CODE.

     WA_TAB4-CAJO_NAME    WA_TAB3-CAJO_NAME.

     APPEND WA_TAB4 TO ITAB4.

  ENDLOOP.

  CALL FUNCTION 'OPEN_FORM'

   EXPORTING

     FORM                              = 'ZCASHPAYMENTS'.

  CALL FUNCTION 'WRITE_FORM'

   EXPORTING

     ELEMENT                        = 'E1'.

  LOOP AT ITAB4 INTO WA_TAB4.

  CALL FUNCTION 'WRITE_FORM'

   EXPORTING

     ELEMENT                        = 'E2'.

  ENDLOOP.

  CALL FUNCTION 'WRITE_FORM'

   EXPORTING

     ELEMENT                        = 'E3'.

LOOP AT ITAB4 INTO WA_TAB4.

CALL FUNCTION 'WRITE_FORM'

   EXPORTING

     ELEMENT                        = 'E4'.

ENDLOOP.

  CALL FUNCTION 'CLOSE_FORM'.


Iam attaching a screen of text element too and I used only one page window

6 REPLIES 6
Read only

Former Member
0 Likes
803

Did you try adding the WINDOW/FUNCTION parameter in WRITE_FORM?

Read only

0 Likes
803

yeah I have only main window.So did not given it

Read only

0 Likes
803

did you try setting a breakpoint in your Open_Form / Start_Form and check if its calling the correct form name?

Read only

Former Member
0 Likes
803

Hi Rakesh,

Please check in TNAPR table if correct form name and print program name mentioned in NACE transaction.

Also pass window name in write_form.

Regards,

Pravin

Read only

Former Member
0 Likes
803

The error message is telling you exactly what the problem is. You have not included a call to FM START_FORM. Please read the documentation on this FM.

Rob

Read only

ThangaPrakash
Active Contributor
0 Likes
803

Hello Rakesh,

What is the Correspondence type which you are using to print?

1) Check in transaction OB77 whether that correspondence type is existing.

2) Check in transaction OB78 whether the program is assigned to that correspondence type for your company code.

3) Transaction SPRO --> IMG --> Financial Accounting --> Bank accounting --> Business transaction --> Bill of exchange transaction --> Bill of exchange receivable --> Bill of exchange receivable Failed payment transaction --> Make and check settings for correspondence --> Define Form Names for Correspondence Print

Check whether the form name is configured to the correspondence and company code, also if there is Form ID, remove that form ID and try.

4) Check in SMOD for enhancement "RFKORIEX" whether there is any custom code implemented which is causing the issue.

Regards,

Thanga