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

Adding Vendor name to RFKABL00 program

Former Member
0 Likes
925

Hi,

I have been assigned to enhance the existing report with one more new column to the final executed report.

Please help me to complete the task.

Here is the actual scenario:

Std SE38 report RFKABL00 is for to list out the changed vendor details.

Standard report is displaying vendor number and other changed columns in it.

I am trying to add Vendor Name(NAME1 from LFA1 table) next to Vendor Number in the report.

I can able to pull the data from table into the report,I checked it in debug mode but failed to add it to the final report output.

Please provide me step-by-step procedure to do this.

Thanks,

Bobby.

5 REPLIES 5
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
780

Search the program for "ICDPOS-LIFNR". Where you find this in a WRITE statement, this is where you need to add the NAME1 field. For example, this is the code from the program.



WRITE:    2 UZEIT,                 "5        
          8 ICDPOS-LIFNR,          "10    
<b>*-->   You will need to add here</b>
         19 ICDHDR-USERNAME.       "12       



You must make room for your new field, so you will have to move the others to the right out further.

Regards,

Rich Heilman

Read only

0 Likes
780

Hi Rich,

I have added NAME1 after

8 ICDPOS-LIFNR, "10 .

15 ICDPOS-NAME1.

But still Vendor name is not visible on the report.

Please look into it and help me to resolve the issue.

Thanks in advance!

Bobby.

Read only

0 Likes
780

How may different places did you add it? There are more than one.




CASE SORT.

*------ Sortierung 1: Chronologische Sortierung (Datum, Zeit) ----------
      WHEN '1'.
        AT NEW ICDHDR-UDATE.
          CLEAR OLD_CHANGENR.
          RESERVE 4 LINES.
          FORMAT COLOR COL_GROUP INTENSIFIED OFF.
          WRITE: /   SY-VLINE NO-GAP,
                   2 TEXT-S01 COLOR COL_GROUP INTENSIFIED NO-GAP,
                  12 ICDHDR-UDATE DD/MM/YYYY,
                 132 SY-VLINE.
          XCOLOR = ' '.
        ENDAT.

        AT DATEN.
          RESERVE 3 LINES.
          PERFORM FARBE_WECHSELN.
          WRITE: /    SY-VLINE NO-GAP.
          PERFORM SCHLUESSEL_LOESCHEN.
<b>          WRITE:    2 UZEIT,                 "5
                    8 ICDPOS-LIFNR,          "10
                   19 ICDHDR-USERNAME.</b>       "12
          POSITION POS1. WRITE: FLDTEXT.     "15
          WRITE:   48 ICDPOS-BUKRS,          "4
                   53 ICDPOS-EKORG.          "4
          PERFORM WERTE_AUSGEBEN.
          PERFORM POSZEILE2_AUSGEBEN.
        ENDAT.

        AT END OF ICDHDR-UDATE.
          PERFORM ULINE_ZEICHNEN.
        ENDAT.

*------ Sortierung 2: Sortierung nach Kreditoren -----------------------
      WHEN '2'.
        AT NEW ICDPOS-LIFNR.
          CLEAR OLD_CHANGENR.
          RESERVE 4 LINES.
          FORMAT COLOR COL_GROUP INTENSIFIED OFF.
<b>          WRITE: /   SY-VLINE NO-GAP,
                   2 TEXT-S02 COLOR COL_GROUP INTENSIFIED NO-GAP,
                  14 ICDPOS-LIFNR.</b>
          IF XDSCR = 'X'.
            PERFORM BEZEICHNUNG_ERMITTELN USING LV_DSCRP.
            WRITE: 27 LV_DSCRP.
          ENDIF.
          WRITE: 132 SY-VLINE.
          XCOLOR = ' '.
        ENDAT.

        AT DATEN.
          RESERVE 3 LINES.
          PERFORM FARBE_WECHSELN.
          WRITE: /    SY-VLINE NO-GAP.
          PERFORM SCHLUESSEL_LOESCHEN.
          IF NOT ICDHDR-UDATE IS INITIAL.
            WRITE:  2 ICDHDR-UDATE DD/MM/YYYY.   "10
          ENDIF.
          WRITE:   13 UZEIT,                     "5
                   19 ICDHDR-USERNAME.           "12
          POSITION POS1. WRITE: FLDTEXT.         "15
          WRITE:   48 ICDPOS-BUKRS,              "4
                   53 ICDPOS-EKORG.              "4
          PERFORM WERTE_AUSGEBEN.
          PERFORM POSZEILE2_AUSGEBEN.
        ENDAT.

        AT END OF ICDPOS-LIFNR.
          PERFORM ULINE_ZEICHNEN.
        ENDAT.

*------ Sortierung 3: Sortierung nach Änderer --------------------------
      WHEN '3'.
        AT NEW ICDHDR-USERNAME.
          CLEAR OLD_CHANGENR.
          RESERVE 4 LINES.
          FORMAT COLOR COL_GROUP INTENSIFIED OFF.
          WRITE: /   SY-VLINE NO-GAP,
                   2 TEXT-S03 COLOR COL_GROUP INTENSIFIED NO-GAP,
                  14 ICDHDR-USERNAME,
                 132 SY-VLINE.
          XCOLOR = ' '.
        ENDAT.

        AT DATEN.
          RESERVE 3 LINES.
          PERFORM FARBE_WECHSELN.
          WRITE: /    SY-VLINE NO-GAP.
          PERFORM SCHLUESSEL_LOESCHEN.
          IF NOT ICDHDR-UDATE IS INITIAL.
            WRITE:  2 ICDHDR-UDATE DD/MM/YYYY.   "10
          ENDIF.
<b>          WRITE:   13 UZEIT,                     "5
                   19 ICDPOS-LIFNR.</b>              "10
          POSITION POS1. WRITE: FLDTEXT.         "15
          WRITE:   46 ICDPOS-BUKRS,              "4
                   51 ICDPOS-EKORG.              "4
          PERFORM WERTE_AUSGEBEN.
          PERFORM POSZEILE2_AUSGEBEN.
        ENDAT.

        AT END OF ICDHDR-USERNAME.
          PERFORM ULINE_ZEICHNEN.
        ENDAT.

*------ Sortierung 4: Sortierung nach Feldname -------------------------
      WHEN '4'.
        AT NEW TABFELD.
          CLEAR OLD_CHANGENR.
          RESERVE 4 LINES.
          FORMAT COLOR COL_GROUP INTENSIFIED OFF.
          WRITE: /   SY-VLINE NO-GAP,
                   2 TEXT-S04 COLOR COL_GROUP INTENSIFIED NO-GAP,
                  14 FLDTEXT.
          IF XTECH = 'X'.
            WRITE: 30 TABFELD.
          ENDIF.
          WRITE: 132 SY-VLINE.
          XCOLOR = ' '.
        ENDAT.

        AT DATEN.
          RESERVE 3 LINES.
          PERFORM FARBE_WECHSELN.
          WRITE: /    SY-VLINE NO-GAP.
          PERFORM SCHLUESSEL_LOESCHEN.
          IF NOT ICDHDR-UDATE IS INITIAL.
            WRITE:  2 ICDHDR-UDATE DD/MM/YYYY.   "10
          ENDIF.
<b>          WRITE:   13 UZEIT,                     "5
                   19 ICDPOS-LIFNR,              "10
                   30 ICDHDR-USERNAME,           "12
                   43 ICDPOS-BUKRS,              "4
                   48 ICDPOS-EKORG.</b>              "4
          PERFORM WERTE_AUSGEBEN.
          PERFORM POSZEILE2_AUSGEBEN.
        ENDAT.

        AT END OF TABFELD.
          PERFORM ULINE_ZEICHNEN.
        ENDAT.

    ENDCASE.



Regards,

Rich Heilman

Read only

0 Likes
780

Hi Rich,

I have modified my program as you suggested.

Highlighted with bold and underline for your reference.

Still I am not able to see the Vendor Name on Output header column.

Please suggest me where I am doing wrong.

Thanks,

Bobby.

*------ Sortierung 1: Chronologische Sortierung (Datum, Zeit) -

-


WHEN '1'.

AT NEW ICDHDR-UDATE.

CLEAR OLD_CHANGENR.

RESERVE 4 LINES.

FORMAT COLOR COL_GROUP INTENSIFIED OFF.

WRITE: / SY-VLINE NO-GAP,

2 TEXT-S01 COLOR COL_GROUP INTENSIFIED NO-GAP,

12 ICDHDR-UDATE DD/MM/YYYY,

132 SY-VLINE.

XCOLOR = ' '.

ENDAT.

AT DATEN.

RESERVE 3 LINES.

PERFORM FARBE_WECHSELN.

WRITE: / SY-VLINE NO-GAP.

PERFORM SCHLUESSEL_LOESCHEN.

WRITE: 2 UZEIT, "5

8 ICDPOS-LIFNR, "10

19 ICDHDR-USERNAME. "12

POSITION POS1. WRITE: FLDTEXT. "15

POSITION POS2. WRITE: NAME1. "15

WRITE: 48 ICDPOS-BUKRS, "4

53 ICDPOS-EKORG. "4

PERFORM WERTE_AUSGEBEN.

PERFORM POSZEILE2_AUSGEBEN.

ENDAT.

AT END OF ICDHDR-UDATE.

PERFORM ULINE_ZEICHNEN.

ENDAT.

*------ Sortierung 2: Sortierung nach Kreditoren -

-


WHEN '2'.

AT NEW ICDPOS-LIFNR.

CLEAR OLD_CHANGENR.

RESERVE 4 LINES.

FORMAT COLOR COL_GROUP INTENSIFIED OFF.

WRITE: / SY-VLINE NO-GAP,

2 TEXT-S02 COLOR COL_GROUP INTENSIFIED NO-GAP,

14 ICDPOS-LIFNR.

IF XDSCR = 'X'.

PERFORM BEZEICHNUNG_ERMITTELN USING LV_DSCRP.

WRITE: 27 LV_DSCRP.

ENDIF.

WRITE: 132 SY-VLINE.

XCOLOR = ' '.

ENDAT.

AT DATEN.

RESERVE 3 LINES.

PERFORM FARBE_WECHSELN.

WRITE: / SY-VLINE NO-GAP.

PERFORM SCHLUESSEL_LOESCHEN.

IF NOT ICDHDR-UDATE IS INITIAL.

WRITE: 2 ICDHDR-UDATE DD/MM/YYYY. "10

ENDIF.

WRITE: 13 UZEIT, "5

19 ICDHDR-USERNAME. "12

POSITION POS1. WRITE: FLDTEXT. "15

POSITION POS2. WRITE: NAME1. "15

WRITE: 48 ICDPOS-BUKRS, "4

53 ICDPOS-EKORG. "4

PERFORM WERTE_AUSGEBEN.

PERFORM POSZEILE2_AUSGEBEN.

ENDAT.

AT END OF ICDPOS-LIFNR.

PERFORM ULINE_ZEICHNEN.

ENDAT.

*------ Sortierung 3: Sortierung nach Änderer -

-


WHEN '3'.

AT NEW ICDHDR-USERNAME.

CLEAR OLD_CHANGENR.

RESERVE 4 LINES.

FORMAT COLOR COL_GROUP INTENSIFIED OFF.

WRITE: / SY-VLINE NO-GAP,

2 TEXT-S03 COLOR COL_GROUP INTENSIFIED NO-GAP,

14 ICDHDR-USERNAME,

132 SY-VLINE.

XCOLOR = ' '.

ENDAT.

AT DATEN.

RESERVE 3 LINES.

PERFORM FARBE_WECHSELN.

WRITE: / SY-VLINE NO-GAP.

PERFORM SCHLUESSEL_LOESCHEN.

IF NOT ICDHDR-UDATE IS INITIAL.

WRITE: 2 ICDHDR-UDATE DD/MM/YYYY. "10

ENDIF.

WRITE: 13 UZEIT, "5

19 ICDPOS-LIFNR. "10

POSITION POS1. WRITE: FLDTEXT. "15

POSITION POS2. WRITE: NAME1. "15

WRITE: 46 ICDPOS-BUKRS, "4

51 ICDPOS-EKORG. "4

PERFORM WERTE_AUSGEBEN.

PERFORM POSZEILE2_AUSGEBEN.

ENDAT.

AT END OF ICDHDR-USERNAME.

PERFORM ULINE_ZEICHNEN.

ENDAT.

*------ Sortierung 4: Sortierung nach Feldname -

-


WHEN '4'.

AT NEW TABFELD.

CLEAR OLD_CHANGENR.

RESERVE 4 LINES.

FORMAT COLOR COL_GROUP INTENSIFIED OFF.

WRITE: / SY-VLINE NO-GAP,

2 TEXT-S04 COLOR COL_GROUP INTENSIFIED NO-GAP,

14 FLDTEXT.

IF XTECH = 'X'.

WRITE: 30 TABFELD.

ENDIF.

WRITE: 132 SY-VLINE.

XCOLOR = ' '.

ENDAT.

AT DATEN.

RESERVE 3 LINES.

PERFORM FARBE_WECHSELN.

WRITE: / SY-VLINE NO-GAP.

PERFORM SCHLUESSEL_LOESCHEN.

IF NOT ICDHDR-UDATE IS INITIAL.

WRITE: 2 ICDHDR-UDATE DD/MM/YYYY. "10

ENDIF.

WRITE: 13 UZEIT, "5

19 ICDPOS-LIFNR, "10

30 ICDHDR-USERNAME, "12

43 ICDPOS-BUKRS, "4

48 ICDPOS-EKORG. "4

POSITION POS2. WRITE: NAME1. "15

PERFORM WERTE_AUSGEBEN.

PERFORM POSZEILE2_AUSGEBEN.

ENDAT.

AT END OF TABFELD.

PERFORM ULINE_ZEICHNEN.

ENDAT.

ENDCASE.

ENDLOOP.

ENDFORM.

Read only

0 Likes
780

Thought you were trying to write it next to ICDPOS-LIFNR?

I would have to try this myself. Not sure what's wrong.

Regards,

Rich Heilman