AT LINE-SELECTION won't be triggered when I use SET PF-STATUS?
Dear All,
I have a simple program that shows a list. My program has AT LINE-SELECTION event. I also use a GUI status for my list.
When I ran my program and double clicked a line, the AT LINE-SELECTION event was never triggered. Later, I deleted the line that registers the GUI status (SET PF-STATUS.... ). When I ran it again and double clicked a line, the AT LINE-SELECTION was triggered.
Therefore, I conclude that AT LINE-SELECTION won't be triggered when I use SET PF-STATUS. Is it true?
If so, is there any way to make my list responds to double click event when I also use GUI status?
Thanks in advance,
Haris
Hi Harris,
Check this link. I think it will answer your question.
http://help.sap.com/saphelp_nw04/helpdata/en/9f/dba34635c111d1829f0000e829fbfe/content.htm
Regards,
Madhu.
Similar Messages
-
My email won't send as when it was set up an extra letter was accidentally inserted in the address. I need to know how to remove the entire email address and start a fresh.
Launch Mail.app, select Mail > Preferences... > Accounts and select the account you need to edit in the left column.
The receiving information will be displayed for the selected Account, with a pop-up selector for the Outgoing Mail Server (SMTP) toward the bottom. That selector shows which mail server will be used with this account; to send mail.
Click and hold on that selector, and scroll down (holding the mouse or trackpad clicked) to Edit Mail Server List... and you'll get a sheet dropping down with the mail servers listed.
Select the problematic mail server, and edit it using the Account Information and Advanced items on that sheet. -
When we use set filter in ale?
when we use set filter in ale.only that data wil go that we set in filter.
Edited by: Alvaro Tejada Galindo on Feb 6, 2008 5:11 PMYeah. Precisely.
-
The scroll on my mouse works fine every place except on ff4.0. It was fine before I upgraded a couple days ago. Have been running ff for years with no problems. This is aannoying but your still the best.
Which operating system do you have installed? Is it Windows XP, Windows Vista, Windows 7, MAC OS (and which flavour), Linux, Ubuntu or some other OS?
-
My speakers won't turn off when I use headpho
Help!
audigy 2 zs platinum pro w/ windows xp pro.Welcome to Apple Discussions!
Please reset your iPod...
Resetting iPod
Now wait about a minute after it turns on. Try turning it off now. Does it turn off?
btabz -
CompactRIO RT freeze when I use "Set Time.vi"
I'm using a compactRIO and need to update the internal time of the device to be clock synchronized with my whole system. Everything seemed to work perfectly but when I try to apply an offset between 0 and -30 seconds, my compactRIO freeze. Nothing happen if I apply a positive offset or an offset "higher" (in a negative way) than -30 sec.
The duration of the freeze equals the offset I apply on my device and after this delay, everything comes back to normal. The freeze affects all my RT code (other processus as well) and not only the VI where I use the "Set Time.vi". The FPGA seems to be working during the freeze time because I got "DMA is full" error after the freeze and the FPGA LEDs keep blinking during the whole time (on the contrary the RT LED stop blinking).
Has any of you already noted something similar on compactRIO 9068 (Linux) ? Or do you have any idea of what is going on ?
Thanks for you help.
Nicolas
Additionnal informations :
- LabVIEW 2013 SP1
- NI RIO 14.0.1
- CompactRIO 9068
- Linux Embedded
- LavBIEW Real-Time 13.0.1
PS :
- I use regular loops, no absolute timing VIs only tick count or nothing.
- The freeze happens in interactive mode but also with an rtexe.
- The compactRIO stays connected during the freeze.Guillaume.D a écrit :
Hello,
I'm not surprised by this behavior : the VI "set the time" define the absolut timing (hour and date) for the target : tha changes which are applied at this VI are applied at all the process ans task of the target.
The FPGA of the CompactRIO is not impacted by this : in your VI, you define "localhost" wich corresponded at the RT part of the cRIO system.
The FPGA continue to work separately of the RT part.
I agree that Set Time VI affects the whole RT code but what I don't understand is why "untimed loop" or "timed loop with internal 1 kHz clock source" (no absolute time) are affected by the absolute time shift.
The behavior doesn't happen on VxWorks target.
Int he most application, you use the VI "Set the time" to define the absolut time at the initialization, and after you don't modify it.
I'm developing a continuous compactRIO data logger which (I hope ^^) should never stop even after hours / days / months of running. I have noticed a drift of 1.5 sec / day on my compactRIO so I must need to resynchronize it all the time. -
When to use Set-OutlookProvider?
This seems like a simple question, but I have read articles that seem to confuse the question.
If you are NOT using a wildcard cert is there ever a need to set EXPR and EXCH CertPrincipalName?
Set-OutlookProvider EXPR -CertPrincipalName msstd:(your external host name)
Set-OutlookProvider EXCH -CertPrincipalName msstd:(your external host name)This seems like a simple question, but I have read articles that seem to confuse the question.
If you are NOT using a wildcard cert is there ever a need to set EXPR and EXCH CertPrincipalName?
Set-OutlookProvider EXPR -CertPrincipalName msstd:(your external host name)
Set-OutlookProvider EXCH -CertPrincipalName msstd:(your external host name)
Other than for a wildcard, Probably not. Especially since in Exchange 2013 it will proxy to any mailbox, alot of need to force clients through a specific CAS are not needed.
Keep it simple! :)
Twitter!: Please Note: My Posts are provided “AS IS” without warranty of any kind, either expressed or implied. -
At line-selection... SET pf 'status'.
hi abapers !
i am working with interactive reports !
my problem ...i s
when am using
SET PF 'STATUS'.
At line-selection event is not getting triggered..!
i.e, when am double cllicking on the list ...
its showing choose a valid function.
am able to implement my tool bar .. status.
using
AT user-command.
case sy-ucomm.
endcase.
but i want to genrerate secondary list... with out ,using tool bar..
how can i trigger at line-selection event....!
pls can any one help me.. with an simple example...!If you do not want any button then use GET CURSOR instead of SET PF status.
Try ir in this way
TYPES: BEGIN OF x_mara,
matnr TYPE matnr,
END OF x_mara.
DATA : i_mara TYPE STANDARD TABLE OF x_mara INITIAL SIZE 0,
i_marc TYPE STANDARD TABLE OF marc INITIAL SIZE 0,
l_value TYPE string,
l_field TYPE string,
wa_marc TYPE marc,
wa_mara TYPE x_mara.
SELECT matnr FROM mara INTO TABLE i_mara.
LOOP at i_mara INTO wa_mara.
WRITE: / wa_mara-matnr.
ENDLOOP.
AT LINE-SELECTION.
GET CURSOR FIELD l_field VALUE l_value.
IF l_field = 'WA_MARA-MATNR'.
SELECT * FROM marc INTO TABLE i_marc WHERE matnr = l_value.
LOOP AT i_marc INTO wa_marc.
WRITE: / wa_marc-matnr , wa_marc-werks.
ENDLOOP.
ENDIF. -
Hello All..
1. I have created one basic list, now if i double click on any record then it should call another transaction... this is to be done using LIST PROCESSING. i need to write code in 'At Line Selection' but where to code this at line selection.
2. Also while designing selection screen i've created execute icon using
SET PF-STATUS.. but this is also appearing when basic list is being displayed.. i dont ant this to appear... no other buttons i.e.., back button, cancel are working...
Regards,
Radhi..Hi
Sample program for At Line-Selection
*& Report ZHC010F_CONFIRMATION_COMPACT *
Module PP - PRODUCTION PLANNING
REPORT ZHC010F_CONFIRMATION_COMPACT LINE-SIZE 275 LINE-COUNT 50 NO STANDARD PAGE HEADING.
TABLES : ZHT010_FORGE,
MARC.
TYPES : BEGIN OF I_CONFIRM,
ZBUDAT TYPE ZHT010_FORGE-ZBUDAT,
MATNR TYPE ZHT010_FORGE-MATNR,
PLWRK TYPE ZHT010_FORGE-PLWRK,
ZSHIFT TYPE ZHT010_FORGE-ZSHIFT,
ZWRKCE TYPE ZHT010_FORGE-ZWRKCE,
ZWIRECD TYPE ZHT010_FORGE-ZWIRECD,
ZACQTY TYPE ZHT010_FORGE-ZACQTY,
ZREQTY TYPE ZHT010_FORGE-ZREQTY,
ZSCQTY TYPE ZHT010_FORGE-ZSCQTY,
ZSEQTY TYPE ZHT010_FORGE-ZSEQTY,
ENDBIT TYPE ZHT010_FORGE-ENDBIT,
ENDBIT2 TYPE ZHT010_FORGE-ENDBIT2,
TIMLO TYPE ZHT010_FORGE-TIMLO,
ZCONFIRM TYPE ZHT010_FORGE-ZCONFIRM,
ZCONFIRMREJ TYPE ZHT010_FORGE-ZCONFIRM,
ZCONFIRMSC TYPE ZHT010_FORGE-ZCONFIRM,
ZCONFIRMSE TYPE ZHT010_FORGE-ZCONFIRM,
ZCONFIRMBIT TYPE ZHT010_FORGE-ZCONFIRM,
ZCONFIRMBIT2 TYPE ZHT010_FORGE-ZCONFIRM,
ZCONFIRMBUR TYPE ZHT010_FORGE-ZCONFIRMBUR,
TOKEN TYPE ZHT010_FORGE-TOKEN,
JONUMBER TYPE ZHT010_FORGE-JONUMBER,
CHARG TYPE ZHT010_FORGE-CHARG,
ZACCISSQTY TYPE ZHT010_FORGE-ZACCISSQTY,
ZREJISSQTY TYPE ZHT010_FORGE-ZREJISSQTY,
ZSCMISSQTY TYPE ZHT010_FORGE-ZSCMISSQTY,
ZSEMISSQTY TYPE ZHT010_FORGE-ZSEMISSQTY,
VERID TYPE ZHT010_FORGE-VERID,
MARK(1),
DELETE(1),
END OF I_CONFIRM.
TYPES: BEGIN OF TAB_TYPE,
FCODE LIKE RSMPE-FUNC,
END OF TAB_TYPE.
TYPES : BEGIN OF STR_BACKFLUSH,
MATNR LIKE ZHT010_FORGE-MATNR,
PLWRK LIKE ZHT010_FORGE-PLWRK,
GSMNG LIKE PLAF-GSMNG,
ZWRKCE LIKE ZHT010_FORGE-ZWRKCE,
ZBUDAT LIKE ZHT010_FORGE-ZBUDAT,
ZSHIFT LIKE ZHT010_FORGE-ZSHIFT,
TIMLO LIKE ZHT010_FORGE-TIMLO,
ZWIRECD LIKE ZHT010_FORGE-ZWIRECD,
ZACQTY LIKE ZHT010_FORGE-ZACQTY,
ZREQTY LIKE ZHT010_FORGE-ZREQTY,
ZSCQTY LIKE ZHT010_FORGE-ZSCQTY,
ZSEQTY LIKE ZHT010_FORGE-ZSEQTY,
ENDBIT LIKE ZHT010_FORGE-ENDBIT,
ENDBIT2 LIKE ZHT010_FORGE-ENDBIT2,
BURSLG LIKE ZHT010_FORGE-BURSLG,
TOKEN LIKE ZHT010_FORGE-TOKEN,
JONUMBER LIKE ZHT010_FORGE-JONUMBER,
CHARG LIKE ZHT010_FORGE-CHARG,
MARK ,
VERID LIKE MKAL-VERID,
END OF STR_BACKFLUSH.
DATA : REM TYPE I,
W_COUNT TYPE I VALUE 4,
WA(200),
W_ZACQTY(15),
W_ZREQTY(15),
W_ZSCQTY(15),
W_ZSEQTY(15),
W_ENDBIT(15),
W_ENDBIT2(15),
W_ACCISSQTY(15),
W_REJISSQTY(15),
W_SCMISSQTY(15),
W_SEMISSQTY(15),
W_CONFIRM,
W_CONFIRMREJ,
W_CONFIRMSC,
W_CONFIRMSE,
W_VERID LIKE ZHT010_FORGE-VERID,
W_START_LINE TYPE I,
W_END_LINE TYPE I,
W_START_COUNT TYPE I,
W_END_COUNT TYPE I,
W_LINES TYPE I ,
W_TAB TYPE TAB_TYPE,
W_MOD TYPE I,
W_SPC(15),
W_MATNR TYPE MARA-MATNR,
W_CHARG TYPE ZHT010_FORGE-CHARG,
W_TIMLO TYPE ZHT010_FORGE-TIMLO,
W_WIRECD TYPE MARA-MATNR,
W_JONO TYPE ZHT010_FORGE-JONUMBER,
W_MACHINE TYPE ZHT010_FORGE-ZWRKCE,
W_LBKUM TYPE MBEW-LBKUM,
ZWCD TYPE ZHT010_FORGE-ZWIRECD,
W_BI TYPE C,
W_LINECOUNT TYPE I,
W_MAKTX LIKE MAKT-MAKTX,
W_STLAL LIKE STKO-STLAL.
TYPES : BEGIN OF I_ST,
MATNR TYPE MARA-MATNR,
WIRECD TYPE MARA-MATNR, "Entered in ZHC018
UOM TYPE MARA-MEINS,
RMCODE TYPE MARA-MATNR, "Actual RM by BOM Explosion
MEINS TYPE MARA-MEINS, "Actual meins of RM by BOM
SPC TYPE MBEW-LBKUM,
END OF I_ST.
TYPES :BEGIN OF STR_BATCH ,
MARK(1),
MATNR LIKE MARA-MATNR,
WIRECD LIKE MARA-MATNR,
CHARG LIKE MCHB-CHARG,
CLABS LIKE MCHB-CLABS,
QTY LIKE MSEG-ERFMG,
UOM LIKE MSEG-ERFME,
SCRPQTY LIKE MSEG-MENGE,
MEINS LIKE MSEG-ERFME,
PENQTY LIKE MCHB-CLABS,
POSSQTY LIKE MCHB-CLABS,
TOPOST LIKE MCHB-CLABS,
REQTY LIKE MCHB-CLABS,
TIMLO LIKE ZHT010_FORGE-TIMLO,
END OF STR_BATCH.
DATA: IT_CONFIRM TYPE STANDARD TABLE OF I_CONFIRM WITH HEADER LINE,
IT_BACKFLUSH TYPE STANDARD TABLE OF STR_BACKFLUSH WITH HEADER LINE
TAB TYPE STANDARD TABLE OF TAB_TYPE WITH NON-UNIQUE DEFAULT KEY
INITIAL SIZE 10,
IT_STBD_SCRP TYPE CSXDOC OCCURS 0 WITH HEADER LINE,
IT_STBE_SCRP TYPE CSXEQUI OCCURS 0 WITH HEADER LINE,
IT_STBK_SCRP TYPE CSXKLA OCCURS 0 WITH HEADER LINE,
IT_STBM_SCRP TYPE CSXMAT OCCURS 0 WITH HEADER LINE,
IT_STBP_SCRP TYPE CSXGEN OCCURS 0 WITH HEADER LINE,
IT_STBT_SCRP TYPE CSXTPL OCCURS 0 WITH HEADER LINE,
IT_BATCH TYPE STANDARD TABLE OF STR_BATCH WITH HEADER LINE,
I_BATCH TYPE STANDARD TABLE OF STR_BATCH WITH HEADER LINE,
IT_STPOX TYPE STPOX OCCURS 0 WITH HEADER LINE,
IT_MAT TYPE CSCMAT OCCURS 0 WITH HEADER LINE,
WA_STPOX LIKE IT_STPOX,
IT_ST TYPE STANDARD TABLE OF I_ST WITH HEADER LINE,
IT_ST1 TYPE STANDARD TABLE OF I_ST WITH HEADER LINE,
IT_STBD TYPE CSXDOC OCCURS 0 WITH HEADER LINE,
IT_STBE TYPE CSXEQUI OCCURS 0 WITH HEADER LINE,
IT_STBK TYPE CSXKLA OCCURS 0 WITH HEADER LINE,
IT_STBM TYPE CSXMAT OCCURS 0 WITH HEADER LINE,
IT_STBP TYPE CSXGEN OCCURS 0 WITH HEADER LINE,
IT_STBT TYPE CSXTPL OCCURS 0 WITH HEADER LINE,
IT_STBD_ACTQTY TYPE CSXDOC OCCURS 0 WITH HEADER LINE,
IT_STBE_ACTQTY TYPE CSXEQUI OCCURS 0 WITH HEADER LINE,
IT_STBK_ACTQTY TYPE CSXKLA OCCURS 0 WITH HEADER LINE,
IT_STBM_ACTQTY TYPE CSXMAT OCCURS 0 WITH HEADER LINE,
IT_STBP_ACTQTY TYPE CSXGEN OCCURS 0 WITH HEADER LINE,
IT_STBT_ACTQTY TYPE CSXTPL OCCURS 0 WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : PR_WERKS LIKE IT_CONFIRM-PLWRK OBLIGATORY,
PR_BUDAT LIKE IT_CONFIRM-ZBUDAT OBLIGATORY.
SELECT-OPTIONS : SO_SHIFT FOR IT_CONFIRM-ZSHIFT NO-EXTENSION NO INTERVALS,
SO_MATNR FOR IT_CONFIRM-MATNR,
SO_WORK FOR IT_CONFIRM-ZWRKCE ,
SO_TOKEN FOR ZHT010_FORGE-TOKEN,
SO_CELL FOR MARC-FEVOR NO-EXTENSION NO INTERVALS.
PARAMETERS : PR_CONFM AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK B1.
**This selection screen gives an option to execute in
**foreground or in the background.
**This is needed to analyse any errors while posting data.
SELECTION-SCREEN BEGIN OF BLOCK RADIO WITH FRAME TITLE TEXT-018 NO
INTERVALS.
PARAMETERS: PR_BIN RADIOBUTTON GROUP BI DEFAULT 'X',
PR_BIA RADIOBUTTON GROUP BI.
SELECTION-SCREEN END OF BLOCK RADIO.
DATA W_WERKS LIKE ZHT010_FORGE-PLWRK.
AT SELECTION-SCREEN.
IF PR_WERKS IS NOT INITIAL.
IF PR_WERKS <> '4100'.
SET CURSOR FIELD 'PR_WERKS'.
MESSAGE E000(ZSFL) WITH 'Plant 4100 Only Allowed'.
EXIT.
ENDIF.
ENDIF.
IF PR_BIA = 'X'.
IF SY-UNAME = 'PP4100A01' OR SY-UNAME = 'PP4100B01' OR SY-UNAME = 'PP4100C01' OR
SY-UNAME = 'PP4100C02' OR SY-UNAME = 'PP4200B01' OR SY-UNAME = 'PP4200C01' OR
SY-UNAME = 'PP4200C02'.
MESSAGE E000(ZSFL) WITH 'No Authorization to Run in Foreground'.
EXIT.
ENDIF.
ENDIF.
START-OF-SELECTION.
MOVE 'DELETE' TO W_TAB-FCODE.
APPEND W_TAB TO TAB.
MOVE 'SELA' TO W_TAB-FCODE.
APPEND W_TAB TO TAB.
MOVE 'DSELA' TO W_TAB-FCODE.
APPEND W_TAB TO TAB.
SET PF-STATUS 'CONF' EXCLUDING TAB.
IF PR_CONFM = 'X'.
SELECT AZBUDAT AMATNR APLWRK AZSHIFT AZWRKCE AZWIRECD A~ZACQTY
A~ZREQTY
AZSCQTY AZSEQTY AENDBIT AENDBIT2 ATIMLO AZCONFIRM
A~ZCONFIRMREJ
AZCONFIRMSC AZCONFIRMSE AZCONFIRMBIT AZCONFIRMBIT2
AZCONFIRMBUR ATOKEN AJONUMBER ACHARG A~ZACCISSQTY
AZREJISSQTY AZSCMISSQTY AZSEMISSQTY AVERID
FROM ZHT010_FORGE AS A INNER JOIN MARC AS B ON B~MATNR =
AMATNR AND BWERKS = PR_WERKS
INNER JOIN MARA AS C ON CMATNR = AMATNR
INTO TABLE IT_CONFIRM
WHERE A~PLWRK EQ PR_WERKS
AND A~ZSHIFT IN SO_SHIFT
AND A~ZBUDAT EQ PR_BUDAT
AND A~MATNR IN SO_MATNR
AND A~ZWRKCE IN SO_WORK
AND A~TOKEN IN SO_TOKEN
AND B~FEVOR IN SO_CELL
AND C~FERTH = 'RCOMP'
AND ( A~ZCONFIRM = ''
OR A~ZCONFIRMREJ = ''
OR A~ZCONFIRMSC = ''
OR A~ZCONFIRMSE = '' )
or a~zconfirmbit = '' )
OR a~zconfirmbit2 = '' ) and
AND KZLOESCH <> 'X'.
ELSE.
SELECT AZBUDAT AMATNR APLWRK AZSHIFT AZWRKCE AZWIRECD A~ZACQTY
A~ZREQTY
AZSCQTY AZSEQTY AENDBIT AENDBIT2 ATIMLO AZCONFIRM
A~ZCONFIRMREJ
AZCONFIRMSC AZCONFIRMSE AZCONFIRMBIT AZCONFIRMBIT2
AZCONFIRMBUR ATOKEN AJONUMBER ACHARG A~ZACCISSQTY
AZREJISSQTY AZSCMISSQTY AZSEMISSQTY AVERID
FROM ZHT010_FORGE AS A INNER JOIN MARC AS B ON B~MATNR =
AMATNR AND BWERKS = PR_WERKS
INNER JOIN MARA AS C ON CMATNR = AMATNR
INTO TABLE IT_CONFIRM
WHERE A~PLWRK EQ PR_WERKS
AND A~ZSHIFT IN SO_SHIFT
AND A~ZBUDAT EQ PR_BUDAT
AND A~MATNR IN SO_MATNR
AND A~ZWRKCE IN SO_WORK
AND A~TOKEN IN SO_TOKEN
AND B~FEVOR IN SO_CELL
AND C~FERTH = 'RCOMP' AND
KZLOESCH <> 'X'.
ENDIF.
W_LINES = LINES( IT_CONFIRM ).
IF W_LINES LT 1.
MESSAGE I999(ZSFL) WITH 'No Records Found For The Seln Criteria'.
EXIT.
ENDIF.
END-OF-SELECTION.
SORT IT_CONFIRM BY MATNR.
LOOP AT IT_CONFIRM.
W_MATNR = IT_CONFIRM-MATNR.
REM = SY-TABIX MOD 2.
W_WIRECD = IT_CONFIRM-ZWIRECD.
W_TIMLO = IT_CONFIRM-TIMLO.
W_CHARG = IT_CONFIRM-CHARG.
W_JONO = IT_CONFIRM-JONUMBER.
W_MACHINE = IT_CONFIRM-ZWRKCE.
W_ZACQTY = IT_CONFIRM-ZACQTY.
W_ZREQTY = IT_CONFIRM-ZREQTY.
W_ZSCQTY = IT_CONFIRM-ZSCQTY.
W_ZSEQTY = IT_CONFIRM-ZSEQTY.
W_ENDBIT = IT_CONFIRM-ENDBIT.
W_ENDBIT2 = IT_CONFIRM-ENDBIT2.
W_ACCISSQTY = IT_CONFIRM-ZACCISSQTY.
W_REJISSQTY = IT_CONFIRM-ZREJISSQTY.
W_SCMISSQTY = IT_CONFIRM-ZSCMISSQTY.
W_SEMISSQTY = IT_CONFIRM-ZSEMISSQTY.
W_CONFIRM = IT_CONFIRM-ZCONFIRM.
W_CONFIRMREJ = IT_CONFIRM-ZCONFIRMREJ.
W_CONFIRMSC = IT_CONFIRM-ZCONFIRMSC.
W_CONFIRMSE = IT_CONFIRM-ZCONFIRMSE.
W_VERID = IT_CONFIRM-VERID.
SHIFT W_ZACQTY LEFT DELETING LEADING SPACE.
SHIFT W_ZREQTY LEFT DELETING LEADING SPACE.
SHIFT W_ZSCQTY LEFT DELETING LEADING SPACE.
SHIFT W_ZSEQTY LEFT DELETING LEADING SPACE.
SHIFT W_ENDBIT LEFT DELETING LEADING SPACE.
SHIFT W_ENDBIT2 LEFT DELETING LEADING SPACE.
SHIFT W_ACCISSQTY LEFT DELETING LEADING SPACE.
SHIFT W_REJISSQTY LEFT DELETING LEADING SPACE.
SHIFT W_SCMISSQTY LEFT DELETING LEADING SPACE.
SHIFT W_SEMISSQTY LEFT DELETING LEADING SPACE.
SELECT SINGLE MAKTX INTO W_MAKTX FROM MAKT WHERE MATNR =
IT_CONFIRM-MATNR AND SPRAS = 'E'.
IF IT_CONFIRM-ZCONFIRM = 'X' AND IT_CONFIRM-ZCONFIRMREJ = 'X' AND
IT_CONFIRM-ZCONFIRMSC = 'X'
AND IT_CONFIRM-ZCONFIRMSE = 'X' AND IT_CONFIRM-ZCONFIRMBIT = 'X'
AND IT_CONFIRM-ZCONFIRMBIT2 = 'X'.
WRITE : / SY-VLINE,
IT_CONFIRM-MARK AS CHECKBOX INPUT OFF ,
IT_CONFIRM-MATNR UNDER TEXT-002,
W_MAKTX(20) UNDER TEXT-027,
IT_CONFIRM-ZSHIFT UNDER TEXT-011,
IT_CONFIRM-ZWRKCE UNDER TEXT-010,
IT_CONFIRM-ZWIRECD UNDER TEXT-003,
IT_CONFIRM-CHARG UNDER TEXT-022,
IT_CONFIRM-JONUMBER UNDER TEXT-019.
ELSE.
WRITE : / SY-VLINE,
IT_CONFIRM-MARK AS CHECKBOX,
IT_CONFIRM-MATNR UNDER TEXT-002 HOTSPOT ON,
W_MAKTX(20) UNDER TEXT-027,
IT_CONFIRM-ZSHIFT UNDER TEXT-011,
IT_CONFIRM-ZWRKCE UNDER TEXT-010,
IT_CONFIRM-ZWIRECD UNDER TEXT-003,
IT_CONFIRM-CHARG UNDER TEXT-022 ,
IT_CONFIRM-JONUMBER UNDER TEXT-019.
ENDIF.
Check if the burslg has already been posted. Incase it
has been posted then acc, rej , pr sc and se sc qnty cannot
be in editable
IF IT_CONFIRM-ZCONFIRM EQ 'X'. "or it_confirm-zconfirmbur eq 'X'.
IF IT_CONFIRM-ZCONFIRM EQ 'X' .
WRITE W_ZACQTY UNDER TEXT-004 COLOR 5 INTENSIFIED OFF.
ELSEIF IT_CONFIRM-ZCONFIRMBUR EQ 'X'.
WRITE W_ZACQTY UNDER TEXT-004 COLOR 3 INTENSIFIED OFF.
ENDIF.
ELSE.
WRITE W_ZACQTY UNDER TEXT-004 INPUT OFF.
ENDIF.
IF IT_CONFIRM-ZCONFIRMREJ EQ 'X' OR IT_CONFIRM-ZCONFIRMBUR EQ 'X'.
IF IT_CONFIRM-ZCONFIRMREJ EQ 'X' .
WRITE W_ZREQTY UNDER TEXT-005 COLOR 5 INTENSIFIED OFF.
ELSEIF IT_CONFIRM-ZCONFIRMBUR EQ 'X'.
WRITE W_ZREQTY UNDER TEXT-005 COLOR 3 INTENSIFIED OFF.
ENDIF.
ELSE.
WRITE W_ZREQTY UNDER TEXT-005. "input on.
ENDIF.
IF IT_CONFIRM-ZCONFIRMSC EQ 'X' OR IT_CONFIRM-ZCONFIRMBUR EQ 'X'.
IF IT_CONFIRM-ZCONFIRMSC EQ 'X' .
WRITE W_ZSCQTY UNDER TEXT-006 COLOR 5 INTENSIFIED OFF.
ELSEIF IT_CONFIRM-ZCONFIRMBUR EQ 'X'.
WRITE W_ZSCQTY UNDER TEXT-006 COLOR 3 INTENSIFIED OFF.
ENDIF.
ELSE.
WRITE W_ZSCQTY UNDER TEXT-006. "input on.
ENDIF.
IF IT_CONFIRM-ZCONFIRMSE EQ 'X' OR IT_CONFIRM-ZCONFIRMBUR EQ 'X'.
IF IT_CONFIRM-ZCONFIRMSE EQ 'X' .
WRITE W_ZSEQTY UNDER TEXT-007 COLOR 5 INTENSIFIED OFF.
ELSEIF IT_CONFIRM-ZCONFIRMBUR EQ 'X'.
WRITE W_ZSEQTY UNDER TEXT-007 COLOR 3 INTENSIFIED OFF.
ENDIF.
ELSE.
WRITE W_ZSEQTY UNDER TEXT-007. "input on.
ENDIF.
IF IT_CONFIRM-ZCONFIRMBIT EQ 'X'.
WRITE W_ENDBIT UNDER TEXT-008 COLOR 5 INTENSIFIED OFF.
ELSE.
WRITE W_ENDBIT UNDER TEXT-008. "input on.
ENDIF.
IF IT_CONFIRM-ZCONFIRMBIT2 EQ 'X'.
WRITE W_ENDBIT2 UNDER TEXT-009 COLOR 5 INTENSIFIED OFF.
ELSE.
WRITE W_ENDBIT2 UNDER TEXT-009. " input on.
ENDIF.
WRITE W_ACCISSQTY UNDER TEXT-023 COLOR 5 INTENSIFIED OFF.
WRITE W_REJISSQTY UNDER TEXT-024 COLOR 5 INTENSIFIED OFF.
WRITE W_SCMISSQTY UNDER TEXT-025 COLOR 5 INTENSIFIED OFF.
WRITE W_SEMISSQTY UNDER TEXT-026 COLOR 5 INTENSIFIED OFF.
WRITE 274 SY-VLINE.
HIDE: W_MATNR,W_WIRECD,W_ZACQTY,W_ZREQTY,W_ZSCQTY,
W_ZSEQTY,W_CHARG,W_JONO,W_MACHINE,W_TIMLO,
W_CONFIRM,W_CONFIRMREJ,W_CONFIRMSC,W_CONFIRMSE,W_VERID.
ULINE (274).
ENDLOOP.
TOP-OF-PAGE.
FORMAT COLOR 5 INTENSIFIED ON.
WRITE : 'Plant: ', PR_WERKS,
"'Shift: ', so_shift-low, ' To ' , so_shift-high,
'Posting date: ', PR_BUDAT.
WRITE : /''.
ULINE (274).
FORMAT COLOR 1 INTENSIFIED ON.
WRITE :/1 SY-VLINE,
5 TEXT-002, " Material no.
21 TEXT-027, " Description
45 TEXT-011, " shift
50 TEXT-010, " Work center.
65 TEXT-003, " Wire code.
85 TEXT-022, " Heat Number
105 TEXT-019, " Job Order Number
125 TEXT-004, " Acc. qty.
140 TEXT-005, " Rej. qty.
154 TEXT-006, " Scrap.
170 TEXT-007, " Set qty.
185 TEXT-008, " Endbit in Kg.
199 TEXT-009, " SOP.
214 TEXT-023,
229 TEXT-024,
244 TEXT-025,
259 TEXT-026,
274 SY-VLINE.
FORMAT COLOR OFF.
WRITE :/''.
ULINE (274).
END-OF-PAGE.
in order to show the stock
of wire code and requirement qty of wirecode .
AT LINE-SELECTION.
DATA: W_MEINS TYPE MARA-MEINS,
W_SPC1 TYPE MBEW-LBKUM,
W_STMAT TYPE MARA-MATNR,
W_QTY1 TYPE STKO-BMENG,
W_QTY2 TYPE STKO-BMENG,
W_QTY3 TYPE STKO-BMENG,
W_QTY4 TYPE STKO-BMENG,
W_TOTAL TYPE STKO-BMENG,
W_BRGEW TYPE MARA-BRGEW,
W_GEWEI TYPE MARA-GEWEI,
W_BUOM TYPE MARA-MEINS,
W_RQTY TYPE P DECIMALS 3,
w_ferth type mara-ferth,
TMATNR LIKE MARA-MATNR,
W_BATCH1(10),
W_BATCH2(10),
W_BATCH3(10),
W_BATCH4(10),
W_BATCH5(10),
W_BALQTY LIKE MCHB-CLABS,
w_penqty like mchb-clabs,
W_CLABS LIKE MCHB-CLABS.
IF SY-LILLI <= 4.
MESSAGE S000(ZSFL) WITH 'Select Correct Record'.
STOP.
ENDIF.
*zwcd = sy-lisel+64(18).
REFRESH IT_ST.
CLEAR IT_ST.
PERFORM F001-READ_MAT.
**Logic changed. the req qty should be shown from the BOM.
**Therefore these changes are needed.
CLEAR : IT_STBD,IT_STBE,IT_STBK,IT_STBM,IT_STBP,IT_STBT,W_QTY1,W_QTY2,
W_QTY3,W_TOTAL.
W_QTY1 = SY-LISEL+119(15).
W_QTY2 = SY-LISEL+137(15).
W_QTY3 = SY-LISEL+152(15).
W_QTY4 = SY-LISEL+167(15).
W_TOTAL = W_QTY1.
PERFORM F002-GET_QTY.
CLEAR : IT_STBD_SCRP,IT_STBE_SCRP,IT_STBK_SCRP,IT_STBM_SCRP,IT_STBP_SCRP
,IT_STBT_SCRP.
PERFORM F002-GET_SCRPQTY.
SORT IT_ST.
IF SY-LSIND = 1.
WINDOW STARTING AT 1 10 ENDING AT 135 20.
SET PF-STATUS 'ZCOMP'.
*to display batch and batch qty in pop up screen
REFRESH IT_BATCH[].
CLEAR :IT_BATCH , IT_ST,TMATNR.
LOOP AT IT_ST WHERE MATNR = W_MATNR AND WIRECD = W_WIRECD.
IT_BATCH-MATNR = IT_ST-MATNR.
IT_BATCH-WIRECD = IT_ST-WIRECD .
IT_BATCH-TIMLO = W_TIMLO.
READ TABLE IT_STBP_SCRP WITH KEY OBJNR = IT_ST-RMCODE.
IF SY-SUBRC = 0.
IF IT_ST-UOM = IT_ST-MEINS.
IT_BATCH-SCRPQTY = IT_STBP_SCRP-MNGLG.
ELSE.
IF IT_ST-MEINS = 'KG' AND IT_ST-UOM = 'TO'.
IT_BATCH-SCRPQTY = IT_STBP_SCRP-MNGLG / 1000.
ELSEIF IT_ST-MEINS = 'TO' AND IT_ST-UOM ='KG'.
IT_BATCH-SCRPQTY = IT_STBP_SCRP-MNGLG * 1000.
ENDIF.
ENDIF.
ENDIF.
SELECT SINGLE MATNR INTO TMATNR FROM MCHB WHERE MATNR =
IT_BATCH-WIRECD.
IF SY-SUBRC <> 0.
READ TABLE IT_BATCH WITH KEY MATNR = W_MATNR WIRECD =
IT_BATCH-WIRECD.
IF SY-SUBRC <> 0.
APPEND IT_BATCH.
ENDIF.
ELSE.
SELECT CLABS CHARG INTO (IT_BATCH-CLABS , IT_BATCH-CHARG) FROM
MCHB
WHERE MATNR = IT_ST-WIRECD AND WERKS = PR_WERKS AND LGORT =
'0007'.
READ TABLE IT_BATCH WITH KEY MATNR = W_MATNR WIRECD =
IT_ST-WIRECD
CHARG = IT_BATCH-CHARG .
IF SY-SUBRC <> 0.
APPEND IT_BATCH.
ENDIF.
ENDSELECT.
ENDIF.
CLEAR :IT_BATCH , IT_STBP_SCRP.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM IT_BATCH COMPARING WIRECD CHARG.
DELETE IT_BATCH WHERE CLABS = 0.
ULINE AT /1(134).
FORMAT COLOR 5 INTENSIFIED OFF.
WRITE : /1 SY-VLINE,
5 TEXT-003, " Wire code.
23(1) SY-VLINE,
25 TEXT-013,
39(1) SY-VLINE,
40 TEXT-014,
43(1) SY-VLINE,
44 TEXT-015,
59(1) SY-VLINE,
60 TEXT-020,
71(1) SY-VLINE,
72 TEXT-021,
90(1) SY-VLINE,
91 'Pending Qty',
104(1) SY-VLINE,
105 'Possible Qty',
119(1) SY-VLINE,
120 'To Post',
134(1) SY-VLINE.
ULINE AT /1(134).
CLEAR IT_ST.
SORT IT_ST.
DELETE ADJACENT DUPLICATES FROM IT_ST COMPARING ALL FIELDS.
SORT IT_ST.
REFRESH IT_ST1.
CLEAR: IT_ST1,IT_ST.
LOOP AT IT_ST WHERE MATNR = W_MATNR AND WIRECD = W_WIRECD.
MOVE-CORRESPONDING IT_ST TO IT_ST1.
APPEND IT_ST1.
ENDLOOP.
SORT: IT_ST,IT_ST1.
DELETE IT_ST1 WHERE MATNR NE W_MATNR.
SORT: IT_ST,IT_ST1.
CLEAR: IT_ST1.
LOOP AT IT_ST1 WHERE MATNR = W_MATNR AND WIRECD = W_WIRECD .
W_MEINS = IT_ST1-MEINS.
W_SPC = IT_ST1-SPC.
W_STMAT = IT_ST1-WIRECD.
**ZC127 has only a one to one relationship to BOM therefore only one
**line in the internal table is expected.
CLEAR IT_STBP.
READ TABLE IT_STBP WITH KEY OBJNR = IT_ST1-RMCODE.
IF IT_ST1-UOM = IT_ST1-MEINS .
W_RQTY = IT_STBP-MNGLG.
ELSE.
IF IT_ST1-MEINS = 'KG' AND IT_ST1-UOM = 'TO'.
W_RQTY = IT_STBP-MNGLG / 1000.
ELSEIF IT_ST1-MEINS = 'TO' AND IT_ST1-UOM = 'KG'.
W_RQTY = IT_STBP-MNGLG * 1000.
ENDIF.
ENDIF.
FORMAT COLOR 2 INTENSIFIED OFF.
CLEAR : W_BATCH1,W_BATCH2,W_BATCH3,W_BATCH4,W_BATCH5,W_BALQTY,
W_CLABS.
SPLIT W_CHARG AT ',' INTO W_BATCH1 W_BATCH2 W_BATCH3 W_BATCH4
W_BATCH5.
DELETE IT_BATCH WHERE CHARG <> W_BATCH1 AND CHARG <> W_BATCH2 AND
CHARG <> W_BATCH3
AND CHARG <> W_BATCH4 AND CHARG <> W_BATCH5
AND MATNR = W_MATNR
AND WIRECD = W_WIRECD AND TIMLO = W_TIMLO.
W_BALQTY = W_RQTY.
LOOP AT IT_BATCH WHERE MATNR = W_MATNR AND WIRECD = W_WIRECD AND
TIMLO = W_TIMLO.
SELECT SINGLE PENDINGQTY FROM ZHT012_JOBORDNO INTO
IT_BATCH-PENQTY WHERE LOT = IT_BATCH-CHARG AND
RMCODE = W_WIRECD AND
JO_NO = W_JONO AND
MACHINE = W_MACHINE.
IF IT_BATCH-PENQTY >= IT_BATCH-CLABS.
W_CLABS = IT_BATCH-CLABS.
ELSE.
W_CLABS = IT_BATCH-PENQTY.
ENDIF.
IF W_BALQTY > W_CLABS.
IT_BATCH-TOPOST = W_CLABS.
W_BALQTY = W_BALQTY - W_CLABS.
ELSEIF W_BALQTY < W_CLABS.
IT_BATCH-TOPOST = W_BALQTY.
W_BALQTY = W_BALQTY - IT_BATCH-TOPOST.
ENDIF.
IF IT_BATCH-PENQTY < IT_BATCH-CLABS.
IT_BATCH-POSSQTY = IT_BATCH-PENQTY.
ELSEIF IT_BATCH-CLABS < IT_BATCH-PENQTY.
IT_BATCH-POSSQTY = IT_BATCH-CLABS.
ELSEIF IT_BATCH-CLABS = IT_BATCH-PENQTY.
IT_BATCH-POSSQTY = IT_BATCH-CLABS.
ENDIF.
MODIFY IT_BATCH .
CLEAR IT_BATCH.
ENDLOOP.
LOOP AT IT_BATCH WHERE MATNR = W_MATNR AND WIRECD = W_WIRECD .
READ TABLE IT_STBP_ACTQTY WITH KEY OBJNR = IT_ST1-RMCODE.
FORMAT COLOR 2 INTENSIFIED OFF.
WRITE:/1 SY-VLINE,
3 IT_BATCH-MARK AS CHECKBOX,
IT_BATCH-WIRECD UNDER TEXT-003,
23(1) SY-VLINE.
ON CHANGE OF IT_BATCH-WIRECD.
AT NEW WIRECD.
WRITE :
W_SPC UNDER TEXT-013 LEFT-JUSTIFIED.
ENDON.
ENDAT.
WRITE: 39(1) SY-VLINE,
IT_ST1-UOM UNDER TEXT-014 ,
43(1) SY-VLINE,
W_RQTY UNDER TEXT-015 LEFT-JUSTIFIED,
59(1) SY-VLINE,
60 IT_BATCH-CHARG,
71(1) SY-VLINE,
72 IT_BATCH-CLABS LEFT-JUSTIFIED,
90(1) SY-VLINE,
91 IT_BATCH-PENQTY LEFT-JUSTIFIED,
104(1) SY-VLINE,
105 IT_BATCH-POSSQTY LEFT-JUSTIFIED,
119(1) SY-VLINE,
120 IT_BATCH-TOPOST LEFT-JUSTIFIED,
134(1) SY-VLINE.
IT_BATCH-QTY = IT_STBP_ACTQTY-MNGLG.
IT_BATCH-UOM = IT_ST1-UOM.
IT_BATCH-MEINS = IT_ST1-MEINS.
IT_BATCH-REQTY = W_RQTY.
MODIFY IT_BATCH TRANSPORTING QTY UOM MEINS REQTY.
ENDLOOP.
CLEAR : IT_BATCH , IT_STBP_ACTQTY.
ENDLOOP.
ULINE AT /1(134).
ENDIF.
AT USER-COMMAND.
CLEAR W_MOD.
CASE SY-UCOMM.
WHEN 'SELA'.
W_COUNT = 5.
LOOP AT IT_CONFIRM.
IF ( IT_CONFIRM-ZCONFIRM = '' OR IT_CONFIRM-ZCONFIRMREJ = '' OR
IT_CONFIRM-ZCONFIRMSC = ''
OR IT_CONFIRM-ZCONFIRMSE = '' OR IT_CONFIRM-ZCONFIRMBIT = '' OR
IT_CONFIRM-ZCONFIRMBIT2 = '' ) .
IT_CONFIRM-MARK = 'X'.
MODIFY IT_CONFIRM.
READ LINE W_COUNT.
MODIFY LINE W_COUNT FIELD VALUE IT_CONFIRM-MARK FROM 'X'.
ENDIF.
W_MOD = SY-TABIX MOD 46.
IF W_MOD EQ 0.
W_COUNT = W_COUNT + 5.
ELSE.
W_COUNT = W_COUNT + 2.
ENDIF.
ENDLOOP.
WHEN 'DSELA'.
W_COUNT = 5.
LOOP AT IT_CONFIRM.
IT_CONFIRM-MARK = ''.
MODIFY IT_CONFIRM.
READ LINE W_COUNT.
MODIFY LINE W_COUNT FIELD VALUE IT_CONFIRM-MARK FROM ''.
W_MOD = SY-TABIX MOD 46.
IF W_MOD EQ 0.
W_COUNT = W_COUNT + 5.
ELSE.
W_COUNT = W_COUNT + 2.
ENDIF.
ENDLOOP.
WHEN 'BLOCK'.
W_COUNT = 5.
W_START_COUNT = W_START_LINE - W_COUNT.
W_START_COUNT = W_START_COUNT + 1.
W_END_COUNT = W_END_LINE - W_COUNT.
W_END_COUNT = W_END_COUNT + 1.
REM = W_START_COUNT MOD 2.
IF REM EQ 0.
READ LINE W_START_LINE.
MODIFY LINE W_START_LINE LINE FORMAT INTENSIFIED OFF COLOR = 1.
ELSE.
READ LINE W_START_LINE.
MODIFY LINE W_START_LINE LINE FORMAT INTENSIFIED OFF COLOR = 2.
ENDIF.
REM = W_END_COUNT MOD 2.
IF REM EQ 0.
READ LINE W_END_LINE.
MODIFY LINE W_END_LINE LINE FORMAT INTENSIFIED OFF COLOR = 1.
ELSE.
READ LINE W_END_LINE.
MODIFY LINE W_END_LINE LINE FORMAT INTENSIFIED OFF COLOR = 2.
ENDIF.
LOOP AT IT_CONFIRM FROM W_START_COUNT TO W_END_COUNT.
IT_CONFIRM-MARK = 'X'.
MODIFY IT_CONFIRM.
READ LINE W_START_LINE.
MODIFY LINE W_START_LINE FIELD VALUE IT_CONFIRM-MARK FROM 'X'.
W_START_LINE = W_START_LINE + 1.
ENDLOOP.
CLEAR : W_START_COUNT, W_END_COUNT, W_START_LINE, W_END_LINE.
WHEN 'SAV'.
DATA : W_TCOUNT TYPE I VALUE 0.
W_LINECOUNT = 4.
CLEAR IT_BATCH.
LOOP AT IT_BATCH.
READ LINE W_LINECOUNT FIELD VALUE IT_BATCH-MARK.
IF IT_BATCH-MARK = 'X'.
W_TCOUNT = W_TCOUNT + 1.
MODIFY IT_BATCH TRANSPORTING MARK.
READ TABLE I_BATCH WITH KEY MATNR = IT_BATCH-MATNR
WIRECD = IT_BATCH-WIRECD
CHARG = IT_BATCH-CHARG
TIMLO = IT_BATCH-TIMLO.
IF SY-SUBRC <> 0.
MOVE-CORRESPONDING IT_BATCH TO I_BATCH.
APPEND I_BATCH.
ENDIF.
CLEAR : IT_BATCH , I_BATCH.
ENDIF.
W_LINECOUNT = W_LINECOUNT + 1.
ENDLOOP.
IF W_TCOUNT = 0.
MESSAGE E000(ZSFL) WITH 'Select Atleast One Entry'.
ENDIF.
SELECT SINGLE WERKS INTO W_WERKS FROM MAST WHERE WERKS = PR_WERKS AND MATNR = W_MATNR.
IF SY-SUBRC = 0.
CLEAR W_STLAL.
SELECT SINGLE STLAL INTO W_STLAL FROM MKAL WHERE WERKS = PR_WERKS AND
MATNR = W_MATNR AND
VERID = W_VERID.
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
CAPID = 'PP01'
DATUV = SY-DATUM
MKTLS = 'X'
MTNRV = W_MATNR
WERKS = PR_WERKS
STLAL = W_STLAL
TABLES
STB = IT_STPOX.
ENDIF.
CLEAR W_TCOUNT.
LOOP AT IT_BATCH WHERE MARK = 'X'.
AT NEW WIRECD.
W_TCOUNT = W_TCOUNT + 1.
ENDAT.
ENDLOOP.
DESCRIBE TABLE IT_STPOX LINES SY-TFILL.
IF W_TCOUNT <> SY-TFILL.
MESSAGE E000(ZSFL) WITH 'Select all Components as in BOM'.
ENDIF.
SET SCREEN 0.
SET USER-COMMAND 'BACK'.
WHEN 'SAVE'.
DATA W_MARK TYPE I VALUE 0.
W_COUNT = 5.
CLEAR IT_BACKFLUSH.
REFRESH IT_BACKFLUSH.
LOOP AT IT_CONFIRM.
CLEAR W_ZACQTY.
CLEAR W_ZREQTY.
CLEAR W_ZSCQTY.
CLEAR W_ZSEQTY.
CLEAR W_ENDBIT.
CLEAR W_ENDBIT2.
READ LINE W_COUNT FIELD VALUE IT_CONFIRM-MARK.
IF IT_CONFIRM-MARK EQ 'X'.
READ TABLE I_BATCH WITH KEY MATNR = IT_CONFIRM-MATNR WIRECD = IT_CONFIRM-ZWIRECD
TIMLO = IT_CONFIRM-TIMLO.
IF SY-SUBRC <> 0.
W_MARK = W_MARK + 1.
ENDIF.
READ LINE W_COUNT FIELD VALUE W_ZACQTY.
IT_CONFIRM-ZACQTY = W_ZACQTY.
IF IT_CONFIRM-ZACQTY EQ 0.
IT_CONFIRM-ZCONFIRM = 'X'.
ENDIF.
READ LINE W_COUNT FIELD VALUE W_ZREQTY.
IT_CONFIRM-ZREQTY = W_ZREQTY.
IF IT_CONFIRM-ZREQTY EQ 0.
IT_CONFIRM-ZCONFIRMREJ = 'X'.
ENDIF.
READ LINE W_COUNT FIELD VALUE W_ZSCQTY.
IT_CONFIRM-ZSCQTY = W_ZSCQTY.
IF IT_CONFIRM-ZSCQTY EQ 0.
IT_CONFIRM-ZCONFIRMSC = 'X'.
ENDIF.
READ LINE W_COUNT FIELD VALUE W_ZSEQTY.
IT_CONFIRM-ZSEQTY = W_ZSEQTY.
IF IT_CONFIRM-ZSEQTY EQ 0.
IT_CONFIRM-ZCONFIRMSE = 'X'.
ENDIF.
READ LINE W_COUNT FIELD VALUE W_ENDBIT.
IT_CONFIRM-ENDBIT = W_ENDBIT.
IF IT_CONFIRM-ENDBIT EQ 0.
IT_CONFIRM-ZCONFIRMBIT = 'X'.
ENDIF.
READ LINE W_COUNT FIELD VALUE W_ENDBIT2.
IT_CONFIRM-ENDBIT2 = W_ENDBIT2.
IF IT_CONFIRM-ENDBIT2 EQ 0.
IT_CONFIRM-ZCONFIRMBIT2 = 'X'.
ENDIF.
PERFORM CHECK_FLAG_ROUTINE.
PERFORM CHECK_BATCH.
MODIFY IT_CONFIRM.
CLEAR IT_BACKFLUSH.
MOVE-CORRESPONDING IT_CONFIRM TO IT_BACKFLUSH.
UPDATE ZHT010_FORGE
SET ZACQTY = W_ZACQTY
ZREQTY = W_ZREQTY
ZSCQTY = W_ZSCQTY
ZSEQTY = W_ZSEQTY
ENDBIT = W_ENDBIT
ENDBIT2 = W_ENDBIT2
ZCONFIRM = IT_CONFIRM-ZCONFIRM
ZCONFIRMREJ = IT_CONFIRM-ZCONFIRMREJ
ZCONFIRMSC = IT_CONFIRM-ZCONFIRMSC
ZCONFIRMSE = IT_CONFIRM-ZCONFIRMSE
ZCONFIRMBIT = IT_CONFIRM-ZCONFIRMBIT
ZCONFIRMBIT2 = IT_CONFIRM-ZCONFIRMBIT2
WHERE ZBUDAT EQ IT_CONFIRM-ZBUDAT
AND MATNR EQ IT_CONFIRM-MATNR
AND PLWRK EQ IT_CONFIRM-PLWRK
AND ZSHIFT EQ IT_CONFIRM-ZSHIFT
AND JONUMBER EQ IT_CONFIRM-JONUMBER
AND ZWRKCE EQ IT_CONFIRM-ZWRKCE
AND TIMLO EQ IT_CONFIRM-TIMLO.
Transfer recs into the IT only if atleast one column
needs to be posted.
IF ( IT_CONFIRM-ZCONFIRM = '' OR IT_CONFIRM-ZCONFIRMREJ = ''
OR IT_CONFIRM-ZCONFIRMSC = ''
OR IT_CONFIRM-ZCONFIRMSE = '' OR IT_CONFIRM-ZCONFIRMBIT = ''
OR IT_CONFIRM-ZCONFIRMBIT2 = '' ) .
APPEND IT_BACKFLUSH.
ENDIF.
ENDIF.
W_MOD = SY-TABIX MOD 46.
IF W_MOD EQ 0.
W_COUNT = W_COUNT + 5.
ELSE.
W_COUNT = W_COUNT + 2.
ENDIF.
ENDLOOP.
IF W_MARK > 0.
MESSAGE E000(ZSFL) WITH 'Select the component'.
ENDIF.
DELETE IT_BACKFLUSH WHERE ZACQTY = 0 AND ZREQTY = 0 AND ZSCQTY = 0 AND ZSEQTY = 0.
DESCRIBE TABLE IT_BACKFLUSH.
CHECK SY-TFILL GT 0.
SET PARAMETER ID 'ZPLWRK' FIELD PR_WERKS.
SET PARAMETER ID 'ZBUDAT' FIELD PR_BUDAT.
IF PR_BIN = 'X'.
W_BI = 'N'.
ELSEIF PR_BIA = 'X'.
W_BI = 'A'.
ENDIF.
EXPORT W_BI FROM W_BI TO MEMORY ID 'W_BI'.
EXPORT IT_BACKFLUSH TO MEMORY ID 'CONFIRM'.
EXPORT I_BATCH TO MEMORY ID 'TMPBATCH'.
CALL TRANSACTION 'ZHC010_FINAL'.
SET SCREEN 0.
LEAVE SCREEN.
WHEN 'ENTER'.
W_COUNT = 7.
LOOP AT IT_CONFIRM.
READ LINE W_COUNT FIELD VALUE IT_CONFIRM-MARK.
IF IT_CONFIRM-MARK EQ 'X'.
READ LINE W_COUNT FIELD VALUE W_ZACQTY.
IT_CONFIRM-ZACQTY = W_ZACQTY.
READ LINE W_COUNT FIELD VALUE W_ZREQTY.
IT_CONFIRM-ZREQTY = W_ZREQTY.
READ LINE W_COUNT FIELD VALUE W_ZSCQTY.
IT_CONFIRM-ZSCQTY = W_ZSCQTY.
READ LINE W_COUNT FIELD VALUE W_ZSEQTY.
IT_CONFIRM-ZSEQTY = W_ZSEQTY.
READ LINE W_COUNT FIELD VALUE W_ENDBIT.
IT_CONFIRM-ENDBIT = W_ENDBIT.
READ LINE W_COUNT FIELD VALUE W_ENDBIT2.
IT_CONFIRM-ENDBIT2 = W_ENDBIT2.
MODIFY IT_CONFIRM.
ENDIF.
W_MOD = SY-TABIX MOD 46.
IF W_MOD EQ 0.
W_COUNT = W_COUNT + 7.
ELSE.
W_COUNT = W_COUNT + 1.
ENDIF.
ENDLOOP.
WHEN 'DELETE'.
W_COUNT = 5.
CLEAR IT_BACKFLUSH.
LOOP AT IT_CONFIRM.
READ LINE W_COUNT FIELD VALUE IT_CONFIRM-DELETE.
IF IT_CONFIRM-DELETE EQ 'X'.
Tech Note : Provision to delete any record shld be given cos it wud
create prbs
IF ( IT_CONFIRM-ZCONFIRM = '' AND IT_CONFIRM-ZCONFIRMREJ = ''
AND IT_CONFIRM-ZCONFIRMSC = ''
AND IT_CONFIRM-ZCONFIRMSE = '' AND IT_CONFIRM-ZCONFIRMBIT =
'' AND IT_CONFIRM-ZCONFIRMBIT2 = ''
AND IT_CONFIRM-ZCONFIRMBUR = '' ) .
DELETE FROM ZHT010_FORGE
WHERE ZBUDAT = IT_CONFIRM-ZBUDAT
AND MATNR = IT_CONFIRM-MATNR
AND PLWRK = IT_CONFIRM-PLWRK
AND ZSHIFT = IT_CONFIRM-ZSHIFT
AND ZWRKCE = IT_CONFIRM-ZWRKCE
AND TIMLO = IT_CONFIRM-TIMLO.
ENDIF.
ENDIF.
W_COUNT = W_COUNT + 1.
ENDLOOP.
LEAVE PROGRAM.
WHEN 'RW'.
SET SCREEN 0.
WHEN 'BACK'.
SET SCREEN 0.
ENDCASE.
*& Form check_flag_routine
text
--> p1 text
<-- p2 text
FORM CHECK_FLAG_ROUTINE .
IF IT_CONFIRM-ZCONFIRM EQ 'X'.
IT_CONFIRM-ZACQTY = 0.
ENDIF.
IF IT_CONFIRM-ZCONFIRMREJ EQ 'X'.
IT_CONFIRM-ZREQTY = 0.
ENDIF.
IF IT_CONFIRM-ZCONFIRMSC EQ 'X'.
IT_CONFIRM-ZSCQTY = 0.
ENDIF.
IF IT_CONFIRM-ZCONFIRMSE EQ 'X'.
IT_CONFIRM-ZSEQTY = 0.
ENDIF.
IF IT_CONFIRM-ZCONFIRMBIT EQ 'X'.
IT_CONFIRM-ENDBIT = 0.
ENDIF.
IF IT_CONFIRM-ZCONFIRMBIT2 EQ 'X'.
IT_CONFIRM-ENDBIT2 = 0.
ENDIF.
ENDFORM. " check_flag_routine
*& Form f001-read_mat
text
--> p1 text
<-- p2 text
FORM F001-READ_MAT .
DATA :W_FERTH LIKE MARA-FERTH.
**Note: BREMS = 'X' - give limited explosion
MEHRS = 'X' - give the multi level explosion
LOOP AT IT_CONFIRM.
CLEAR W_STLAL.
SELECT SINGLE STLAL INTO W_STLAL FROM MKAL WHERE WERKS = PR_WERKS AND
MATNR = IT_CONFIRM-MATNR AND
VERID = W_VERID.
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
BREMS = 'X'
CAPID = 'PP01'
DATUV = SY-DATUM
MEHRS = 'X'
MTNRV = IT_CONFIRM-MATNR
WERKS = IT_CONFIRM-PLWRK
STLAL = W_STLAL
TABLES
STB = IT_STPOX
EXCEPTIONS
ALT_NOT_FOUND = 1
CALL_INVALID = 2
MATERIAL_NOT_FOUND = 3
MISSING_AUTHORIZATION = 4
NO_BOM_FOUND = 5
NO_PLANT_DATA = 6
NO_SUITABLE_BOM_FOUND = 7
CONVERSION_ERROR = 8
OTHERS = 9.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DELETE IT_STPOX WHERE DUMPS = 'x'.
SORT IT_STPOX.
LOOP AT IT_STPOX INTO WA_STPOX.
CLEAR W_BUOM.
SELECT SINGLE MEINS INTO W_BUOM
FROM MARA WHERE MATNR = IT_CONFIRM-ZWIRECD.
CLEAR IT_ST.
IT_ST-MATNR = IT_CONFIRM-MATNR.
IT_ST-WIRECD = IT_CONFIRM-ZWIRECD.
IT_ST-UOM = W_BUOM.
IT_ST-RMCODE = WA_STPOX-IDNRK.
IT_ST-MEINS = WA_STPOX-MMEIN.
APPEND IT_ST.
ENDLOOP.
ENDLOOP.
SORT IT_ST BY MATNR.
CLEAR: IT_ST.
LOOP AT IT_ST.
SELECT SINGLE FERTH INTO W_FERTH FROM MARA WHERE MATNR = IT_ST-MATNR
CLEAR W_LBKUM.
SELECT SINGLE LBKUM INTO W_LBKUM FROM MBEW
WHERE MBEW~MATNR = IT_ST-WIRECD
AND MBEW~BWKEY = PR_WERKS
AND MBEW~BWTAR = ''.
IT_ST-SPC = W_LBKUM.
MODIFY IT_ST INDEX SY-TABIX TRANSPORTING SPC .
ENDLOOP.
ENDFORM. " f001-read_mat
*& Form f002-get_qty
text
--> p1 text
<-- p2 text
---- -
Can not use 'AT LINE-SELECTION' with SET PF-STATUS
Hi experts,
my code is like below:
PARAMATERS: .....
SET PF-STATUS 'st_nam'.
Perform Load_data . ' For list display
START-OF-SELECTION.
AT LINE-SELECTION.
Perform list_detail.
AT USER-COMMAND.
CALL SCREEN '1001'.
END-OF-SELECTION.
When I execute the report , the basic was displayed , but when then i double click on the list to call the next screen '1001'. It did not work , but if i omit the SET PF-STATUS m AT LINE-SELECTION worked week , so in this case what has happened i how can i solve this problem,
Thaks,
PS: Reward immediatelyHi,
Thank you very much for your helpful answers, I have copied the report downto my system and test it , When i used SET PF-STATUS , i can not use AT LINE-SELECTION to capture events ...May be we can not use these 2 statements in parallel,...:D
Thanks, -
At line-selection event triggering issue?
hi,
I am working on a interactive report using at line-selection event, in that i have 3 list & now on 4 list i have to perform a BDC operation,for that I have used the PF-STATUS syntax, & at user command code.
but for this particular list my at user command is not working properly. if 1 clk on a record its move to nxt action,but it shd happen when i clk on a record & than press the icon for action set by PF STATUS.
Code is below:
WHEN '3'.
SET PF-STATUS 'Z203'.
LOOP AT itab4.
AT FIRST.
WRITE:/1 'Material' ,8 'Descp'.
ENDAT.
WRITE:/1 itab4-matnr,8 itab4-maktx.
ENDLOOP.
ELSE.
WRITE:/ 'No Data Found'.
ENDIF.
ENDCASE.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'CALL'.
PERFORM bdc_mm02.
pls tell how to use it.
reds
Vipinin your AT LINE-SELECTION event, add this code
CHECK sy-lsind NE 3.
(this is valid if your list is 4th list displayed as it begins with 0) -
At user-command & At Line-selection
Hi,
I am using ECC5 ver. of ABAP.
Can I use AT USER-COMMAND and AT LINE-SELECTION
in the same report?
I have used it but only At user command works, not At line selection.
When I remove Set pf-Status, At line selection works.
Here is my code.
REPORT PF&ATLINE.
AT LINE-SELECTION.
MESSAGE 'Line Selected' TYPE 'I'.
AT USER-COMMAND.
IF sy-ucomm = 'PUSH'.
MESSAGE 'Button Pushed' type 'I'.
elseif sy-ucomm = 'EXIT'.
LEAVE PROGRAM.
ENDIF.
START-OF-SELECTION.
SET PF-STATUS 'ZRND3'.
DO 10 TIMES.
WRITE:/01 SY-INDEX HOTSPOT.
ENDDO.
END-OF-SELECTION.Hi Rajiv,
Setting the PICK function code to F2 will definitely solve it..
and it triggers the at user-command and at line-selection event as per user interaction...
If it is not working properly... then there might me something wrong in your code...
can you place the code... so that we can know the exact problem
regards
padma -
Problem with at line-selection
hi mates
i have written a interactive report program, when i click the hotspot in the basic list the event at line-selection is not getting triggered insead my at user-command is geting executed. is there a sequence that i need to follow?. below is my code. thanks in advance.
tables: vbak.
selection-screen begin of block b1 with frame title t1.
select-options: salesdoc for vbak-vbeln.
selection-screen end of block b1.
types: begin of vbak_ty,
vbeln type vbak-vbeln,
erdat type vbak-erdat,
ernam type vbak-ernam,
end of vbak_ty.
types: begin of vbap_type,
vbeln type vbap-vbeln,
posnr type vbap-posnr,
matnr type vbap-matnr,
charg type vbap-charg,
end of vbap_type.
types: begin of vbap_ty,
posnr type vbap-posnr,
matwa type vbap-matwa,
arktx type vbap-arktx,
end of vbap_ty.
data: vbap_wa type vbap_type,
vbap_it type table of vbap_type,
vbak_wa type vbak_ty,
vbak_it type table of vbak_ty,
vbap_wa1 type vbap_ty,
vbap_it1 type table of vbap_type,
fname(20),fvalue(10).
initialization.
t1 = 'enter sales doc header'.
start-of-selection.
set pf-status 'VA01'.
SELECT vbeln
erdat
ernam
from vbak into table vbak_it
where vbeln in salesdoc.
if sy-subrc = 0.
loop at vbak_it into vbak_wa.
write: /25 vbak_wa-vbeln hotspot,
50 vbak_wa-erdat,
75 vbak_wa-ernam.
hide vbak_wa-vbeln.
clear vbak_wa-vbeln.
endloop.
ELSE.
message e000(01) with 'no records found '.
endif.
at line-selection.
case sy-lsind.
when '1'.
perform headerdata.
when '2'.
perform itemdata.
endcase.
at user-command.
case sy-ucomm.
when 'ITEMDATA'.
get cursor field fname value fvalue.
if fvalue = 'vbap_wa-vbeln'.
perform itemdata.
else.
message e000(03) with 'click only on hotspots'.
endif.
when 'SALEOR'.
get cursor field fname value fvalue.
if fvalue = 'vbak_wa-vbeln'.
set parameter id 'AUN' field fvalue.
call transaction 'VA01' and skip first screen.
else.
message e000(04) with 'click only on hotspots'.
endif.
endcase.
form headerdata.
set pf-status 'HEADER'.
select vbeln
posnr
matnr
charg
from vbap into table vbap_it
where vbeln = vbak_wa-vbeln.
if sy-subrc = 0.
loop at vbap_it into vbap_wa.
write: /25 vbap_wa-vbeln hotspot,
50 vbap_wa-posnr,
75 vbap_wa-matnr,
90 vbap_wa-charg.
hide vbap_wa-vbeln.
clear vbap_wa-vbeln.
endloop.
else.
message e000(02) with ' no data found'.
endif.
endform.
form itemdata.
select vbeln
posnr
matwa
arktx
from vbap into table vbap_it1
where vbeln = vbap_wa-vbeln.
if sy-subrc = 0.
loop at vbap_it1 into vbap_wa1.
write: /25 vbap_wa1-posnr,
75 vbap_wa1-matwa,
90 vbap_wa1-arktx.
endloop.
else.
message e000(02) with ' no data found'.
endif.
endform.
REGARDS
MANOAT LINE-SELECTION.
Effect
This statement defines an event block whose event is triggered by the ABAP runtime environment during the display of a screen list - provided the scren cursor is on a list line and you select a function using the function code PICK. Through the definition of this event block, the standard list status is automatically enhanced in such a way that the function code F2 and, with it, the double-click mouse function is linked up to the function code PICK.
Note
If the function key F2 is linked with a function code different than PICK, each double click will trigger its even, usually AT USER-COMMAND, and not AT LINE-SELECTION.
Example
This program works with the standard list status. A line selection with the left mouse key causes the event AT LINE-SELECTION and creates details lists.
REPORT demo_at_line_selection.
START-OF-SELECTION.
WRITE 'Click me!' COLOR = 5 HOTSPOT.
AT LINE-SELECTION.
WRITE: / 'You clicked list', sy-listi,
/ 'You are on list', sy-lsind.
IF sy-lsind < 20.
SKIP.
WRITE: 'More ...' COLOR = 5 HOTSPOT.
ENDIF.
The above sample program works with the standard list status Since your program has the PF-status set, i think AT LINE-SELECTION will not work. So do use AT USER-COMMAND to capture the "PICK" event.
Hope this helps.
Thanks
Balaji -
Refresh Report and At Line-Selection and At User-Command
Hi All
I have 2 querries
1) I want to use At Line-selection and At user-command in the same report. But At line-selection is not getting triggered why? When I remove Set pf-status 'xxx' and at user command , then at line selection works . I want to user both at a time.
2) I am giving user ability to edit the report shown and when he comes back by exiting the editing I want to refresh the report which is shown already to him to give effect of his editing.
Thanks in anticipation
pM.i just tried, and no problem at all.
In the <b>Recommended Function Key Settings</b> for F2 key add command "PICK"
Regards
Raja
since you are new to the forum, have a look at this weblog.
/people/mark.finnern/blog/2004/08/10/spread-the-love -
Set PF Status and At-Line Selection & At User-Command
Hi All
I've used set PF status, at user command and at-line selection in my program. initially when i click on the material number it was not drilling further that is it was not taking to secondary list. i commented the PF status and tried. then it was working fine. Later, after checking on couple of doc i added F.code PICK in my PF status and uncommented the set-PF status in my program it was working fine. Now my question is why this kind of behaviour. When i uncomment the PF status and run the program without the f.code PICK in my PF status(se41) it was not working but after inlcuding the F.code in my PF it is working. Any good explanation?
thks
Prabhuhi,
generally fuction code is useful for the system to find on which button or in which area the user has clicked in. based on the function code the system executes the satatements that are in user command. in your case i think u didnt gave any functionality in user-command. when at-user command is a event in interactive reporting which is triggered based on the button u had clicked.
at line-selection event uses two system variables
1. sy-lsind [ current list index number ]
2. sy-lisel [ contains the current area in which user ckicked ].
3. sy-ucomm [ function code of clicked button ].
using these 3 vars we can drill down to 21 lists [ including 1st list ]
if helpful reward some points.
with regards,
suresh.
Maybe you are looking for
-
Maximum file size that can be generated with an FTP adapter
Hy At our 'Vehicle Order Management'-project within Toyota Moter Europe we process in- and outbound interface by using FTP adapters in interconnect. For certain outbound interface we generate semi-large amount of files >9MB. Due to parameter setting
-
ICloud screwed up my contacts and MobileMe docs!
iCloud duplicated contacts in my MAC Address Book and deleted almost every contact on my iPhones and iPad. It also deleted my files in MobileMe. 1. I use MS Entourage. My entourage contacts haven't been affected, but Address Book duplicated every
-
Speedgrade 2014.1 crashes on startup when dual display outpout is enabled
Just updated to Speedgrade 2014.1 and I got the "Adobe Speedgrade 2014 has stopped working" message right after the splashscreen. After I uninstalled and then reinstalled it, it worked fine. So I loaded up my custom settings and did some grading. Aft
-
MBP Retina Hanging at logo screen
On my phone since laptop will not start Installed OS X update yesterday now will not start hangs at logo/spinning screen even in safe mode Plugged in and nothing hooked up Here is the screen i get using verbose mode https://docs.google.com/file/d/0B9
-
Two hours still can't scan with photoshop cs6
two hours still can't scan with photoshop cs6 any ideas?