Workflow - split approved and rejected items for next step
Hi! I have just started building a simple approval workflow for any price variation of the catalog items. I have a question in regards to the handling of rejection and approval of items. Say I run the workflow which does the validation and it spits out 4 items with huge price variation which requires approval by the manager (using the Approve stencil). The manager logs in, review the items and mark 3 items for approval and reject one. It seems that using this Approve function, I can only proceed to the next step if ALL of the items are approved. Is there a way to be able to release the approved items leaving the rejected one behind? This is so that we can release the approved item first (which also means to check in the items) and leave the rejected item in check-out mode.
Appreciate your comments on the above.
Thanks!
SF
Hi SF,
Yes there is a workaround for dealing with the Approved and Disapproved Records by using the Process step instead of the Approve step.
Kindly follow the Elearning session below which will explain you how to go about this:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/90efe90c-b03f-2b10-65bf-e572fef651cb
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60f28084-b90e-2b10-3eb6-d6565367048a
You can also refer the other related links that discusses such common problems:
Re: SRM MDM catalog
Hope It Helped
Thanks & Regards
Simona Pinto
Similar Messages
-
Email Notifications through workflow for all Approved and Rejected Orders
hi,
i have to send Email Notifications through workflow for all Approved and Rejected Orders to the user who have submitted the order for approval.how could it be done.please send ur solutions.
regards
yesukannanHi,
An option would be use Oracle Alert. Create an event based alert on the table where you have order approvals or rejections. This alert will be raised after inserting or updating this table. Create an action linked to this alert, and choose message as action type.
This setup can be done under Alert Manager Responsibility.
Regards,
Ketter Ohnes -
How to hide Approve and reject radio buttons at item level.
Hi All,
On the HOME screen of EBP click Approval link ---> Under Appoval tab under Action Column click the magnifying glass icon ---> a table is displayed with Approve and Reject as two columns which contain radio buttons at item level .
How can we hide these two columns and the radio buttons?
Thanks & Regards,
AnubhavHi Daniel,
As you said the template bbp sc ui its 120 is to be modified, i also located the code to be changed but when i comment the code for displaying the RBs , i get "Syntax Error in Tempate" dump in IE.
<!-- manager view -->
`if (gt_scr_itmovr_i-DEDUCT_IND[j].disabled)`
`if (gt_scr_itmovr_i-DEDUCT_IND[j] != "X")`
`TD(align="center",valign="middle", class=tdcellclass)`
<img src="`mimeURL(~service="bbpglobal",~language="", ~name="images/icon/checkedradio.gif")`" border="0">
`TD(align="center",valign="middle", class=tdcellclass)`
<img src="`mimeURL(~service="bbpglobal",~language="", ~name="images/icon/uncheckedradio.gif")`" border="0">
`else`
`TD(align="center",valign="middle", class=tdcellclass)`
<img src="`mimeURL(~service="bbpglobal",~language="", ~name="images/icon/uncheckedradio.gif")`" border="0">
`TD(align="center",valign="middle", class=tdcellclass)`
<img src="`mimeURL(~service="bbpglobal",~language="", ~name="images/icon/checkedradio.gif")`" border="0">
`end`
`else`
`TD(align="center",valign="middle", class=tdcellclass)`
<input type="RADIO" name="gt_scr_itmovr_i-DEDUCT_IND[`j`]" value="" `if (gt_scr_itmovr_i-DEDUCT_IND[j] != "X")` CHECKED `end;
if ( group_hierarchy_position > -1 ); <!-- are we in a hierarchy group ? -->
if ( group_hierarchy_position != j ); <!-- are we processing a subitem? -->
`on click="jav asc ript:toggleSu bItemApprovalState(`j`)";`
group_last_subitem_position = j;
else; <!-- we are on the top of the group (the hierarchy position) -->
if (GT_SCR_ITMOVR_I-HIER_EXPANDED[j] == "X");
`on click="java scr ipt:setAppro valStateAllSubItems(true, `j`)";`
end;
group_last_subitem_position = j;
end;
end`>
`TD(align="center",valign="middle", class=tdcellclass)`
<input type="RADIO" NAME="gt_scr_itmovr_i-DEDUCT_IND[`j`]" value="X" `if (gt_scr_itmovr_i-DEDUCT_IND[j] == "X")` CHECKED `end;
if ( group_hierarchy_position > -1 ); <!-- are we in a hierarchy group ? -->
if ( group_hierarchy_position != j ); <!-- are we processing a subitem? -->
`on click="javas cript:tog gleSubItemApprovalState(`j`)";`
group_last_subitem_position = j;
else; <!-- we are on the top of the group (the hierarchy position) -->
if (GT_SCR_ITMOVR_I-HIER_EXPANDED[j] == "X");
`on cli ck="javas cript:setApprovalStateAllSubItems(false, `j`)";`
end;
group_last_subitem_position = j;
end;
end`>
`end;
end;
end`
I guess the above mentioned code has to be modified but how?
Thanks a lot,
Anubhav -
Approve and Reject of a workflow from outlook
Hi,
We have a requirement in which the approval and rejection of the workflow has to be done from outlook inbox. Please let me know in what way can this be achieved.
I have gone throuigh the SWNCONFIG documentation, However I am not sure on whether it satifies the above requirement. Kindly let me know if this is possible using SWNCONFIG.
Regards,
Milan ThakerHi MT,
well as our friends suggested about DUET, DUET is a separate software altogether.
Its an Outlook synchronization with SAP, but it is limited to very few business processes.
Now question is,
a) what is your business process which you are looking for?
b) Your actual requirement is to approve/reject thru Outlook, well this could be resolved in a different way, that is, say for instance your business process is for Invoice Verification, where you want user to approve or reject. In this case you can integrate Outlook with SAP for this process, where the user would get the workitem in his/her Outlook, the moment the user db-clicks on it, it would take him to SAP tcode for releasing the Invoice block. This could be done thru RSWUWFML2 for all SAP versions or thru SWNCONFIG for ECC versions.
c) If this is not you looking for, then I doubt if such an integration is possible, because getting an Approve and Reject button in your Outlook would be difficult.
d) Else if your organization has EP or UWL installed, then Approve/Rject buttons could be populated.
Hope it helps.
Aditya -
I am not using condition for Approval and Rejection.
Hi Balaji,
I am not using condition for Approval and Rejection.
I am using Decision.
I am not able to find the error.Rejection is going on Successfully.
I am to rectify this error from past 4 days.
Can you give the solution.
Regards,
Chow.Hi chow,
What is the condition that u are using the Condition Statement.
Please check the status returned from the Approval Process, by analyzing the Workflow Log for the particular step.
Think there is a problem with the condition statement.
Regards,
Raj -
Approve and reject button not appearing in the POrtal screen
Hi All ,
I have an issue where i create a meeting rwquets and then it goes for approval to the manager , but in this case the manager is not able to see the approve and reject button in the screen , whereas it appears in the back end , please suggest what setting are to be in place to appear those two buttons to click on .Hi,
Then you will have to modify the standard UWL configuration file.
If your task looks like a standard task (maybe you copied a standard task and modified it slightly), you have to find the ItemType corresponding to the standard task in the UWL configuration file then copy this ItemType and adjust it for you custom task. Please take a look at my last post in another thread : Re: UWL - how to approve purchase requisitions
If your task is 100% custom then you'll have to find out what is behind the Approve and Reject buttons in the Business Workflow and modify the UWL configuration file accordingly. For instance if a function module is used to approve or reject the request you can define your approve and reject actions using the FunctionModuleActionHandler. You can find more information in the documentation : [Task Launch Customization|http://help.sap.com/saphelp_nw70/helpdata/en/36/dd4ad73c86412e81e9ce66eeb147e7/frameset.htm].
Regards,
Pierre -
CCM 2.0 Approve and Reject buttons disabled
Hi!!!
We log into de CAT with the Catalog Approver User. And when we go to the Procurement Catalog, the approve and reject buttons are disabled.
The procurement Catalog has the status To Be Approved (we defined it in the spro), so the items that I mapped from the Supplier to the Mater and to the Master to the Procurement catalog have this status.
I loged in to the Procurement Catalog with the Catalog Manager and assigned the approver to the catalog (CCM_APROVER). And this user has the role of approver (we have double checked in the pfcg).
Any idea why the buttons are disabled?
THANKS IN ADVANCED!!!!Hi Jay, Hay Nimish,
First of all, thanks for reply.
I think that we have found the problem. Is in relation to the transaction SICF. But we won't be able to check it until monday.
If the SICF solution doesn't work I will get back to you.
Thanks once again!
Message was edited by: Patricia Mussons -
Sending a document as an mail attachment with approve and reject button
Hi all,
i have an infopath form where a user fills the form and on submit the form is saving as an document in the document library,
now my question is, how can i get this document as an mail attachment with approve and reject option.Hello,
You need to hide them on form load for user. Add one more hidden control in form and keep control value blank initially. Now add rule on button submit to set the control value to some other so you can hide/show the button.
Now add rule on approve and reject buttons that, if field1 is blank then hide this control.
http://office.microsoft.com/en-in/infopath-help/add-formatting-rules-HA101783371.aspx
Hemendra:Yesterday is just a memory,Tomorrow we may never see
Please remember to mark the replies as answers if they help and unmark them if they provide no help -
LR Approve and Reject buttons missing?
Hi,
We have recently customised standard LR workflow and we have replaced standard LR task (TS12300097, TS12300116) to custom task. We have updated UWL configuration file to add these 2 new task. We could successfully see the LR raised by ESS user in the MSS UWL task list but when we click on the task we could see the task details without APPROVE and REJECT buttons, these 2 buttons are missing.
We have made necessary changes in the SWFVISU tcode and Portal UWL XML configuration. Is there any other configuration need to be done to fix this issue(make APPROVE and REJECT button visible)?
NOTE: If we switch it back to standard task the buttons are visible it's invisible only when it's using new task.
Thanks
PraveenThanks Vivek.
I have resolve this issue, I found that in the UWL xml configuration I have configured task WebDynproApplication property incorrectly, it was pointing to LeaveRequest instead of LeaveRequestApprover. Changing this has fixed the problem.
Thanks anyway.
Closing this thread.
Praveen. -
Hi Experts,
How to Place Approve and Reject Button in every row to approve and reject the particular order in sapui5.
Please Kindly help me.
Thanks & Regards
Chitti BabuHi Chitti,
You can achieve this using sap.m.CustomListItem.
View :
<core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc"
xmlns:l="sap.ui.layout" xmlns="sap.m" controllerName="demoallinonegrid.tablewithscroll"
xmlns:html="http://www.w3.org/1999/xhtml">
<Page title="Title">
<content>
<ScrollContainer horizontal="true" width="100%">
<Table id="empTable">
<headerToolbar>
<Toolbar>
<Label text="Employees"></Label>
</Toolbar>
</headerToolbar>
<columns>
<Column width="12em">
<Label text="Employee Id"></Label>
</Column>
<Column width="12em">
<Label text="Last Name"></Label>
</Column>
<Column width="12em">
<Label text="First Name"></Label>
</Column>
<Column width="12em">
<Label text="Title"></Label>
</Column>
<Column width="12em">
<Label text="Approve"></Label>
</Column>
<Column width="12em">
<Label text="Reject"></Label>
</Column>
</columns>
</Table>
</ScrollContainer>
</content>
</Page>
</core:View>
Controller:
var model = new sap.ui.model.json.JSONModel();
model.loadData("http://services.odata.org/Northwind/Northwind.svc/Employees?$format=json",null,false,'GET',false,null);
this.getView().byId("productTable").setModel(model);
var template = new sap.m.ColumnListItem({
cells:[
new sap.m.Text({text:"{EmployeeID}"}),
new sap.m.Text({text:"{LastName}"}),
new sap.m.Text({text:"{FirstName}"}),
new sap.m.Text({text:"{Title}"}),
new sap.m.Button({text:"Approve"}),
new sap.m.Button({text:"Reject"})
this.getView().byId("empTable").bindAggregation("items","/value",template);
Output:
Regards,
KK -
Report to find open items and close items for given vendor
Hi All,
What are the steps needed to write a REPORT to find out
open and close items for a given vendor.
Which are the fields i'll have to take and what are the comparisons i'll have to make.
I know,
BSIK is for open Vendor &
BSAK for closed Vendors..
what are the conditions i'll have to check.
Thanks in Advance..
Pradeep AlexHi Pradeep,
This report I developed is definitely useful to you.
*& Report ZFI_PROV_IT_VENDOR
REPORT ZFI_VENDOR.
TYPE-POOLS: slis.
tables: BKPF,
BSEG,
bsik,
bsak,
bsid,
bsad,
lfa1,
t005u, "Region Description
J_1IMOVEND.
TYPES: BEGIN OF ty_bkpf,
bukrs type bkpf-bukrs,
belnr TYPE bkpf-belnr,
gjahr type bkpf-gjahr,
blart TYPE bkpf-blart,
budat TYPE bkpf-budat,
END OF ty_bkpf.
types: begin of ty_J_1IMOVEND,
lifnr type lfa1-lifnr,
J_1IPANNO type J_1IMOVEND-J_1IPANNO,
J_1ICSTNO type J_1IMOVEND-J_1ICSTNO,
J_1ISERN type J_1IMOVEND-J_1ISERN,
end of ty_J_1IMOVEND.
TYPES: BEGIN OF ty_bseg,
belnr TYPE bseg-belnr,
gjahr type bseg-gjahr,
bschl TYPE bseg-bschl,
umskz type bseg-umskz,
shkzg type bseg-shkzg,
wrbtr TYPE bseg-wrbtr,
hkont type bseg-hkont,
lifnr TYPE bseg-lifnr,
END OF ty_bseg.
types: begin of ty_t005u,
bland type t005u-bland,
bezei type t005u-bezei,
end of ty_t005u.
types: begin of ty_lfa1,
lifnr type lfa1-lifnr,
name1 type lfa1-name1, "35
ort01 type lfa1-ort01, "35
ort02 type lfa1-ort02, "35
pfach type lfa1-pfach, "10
pstlz type lfa1-pstlz, "10
regio type lfa1-regio, "3
stras type lfa1-stras, "35
ktokk type lfa1-ktokk,
telf1 type lfa1-telf1, "16
telf2 type lfa1-telf2, "16
end of ty_lfa1.
types: begin of ty_bsik,
bukrs type bsik-bukrs,
lifnr type bsik-lifnr,
augdt type bsik-augdt,
augbl type bsik-augbl,
belnr type bsik-belnr,
budat type bsik-budat,
blart type bsik-blart,
shkzg type bsik-shkzg,
wrbtr type bsik-wrbtr,
end of ty_bsik.
types: begin of ty_bsid,
bukrs type bsid-bukrs,
lifnr type bsid-kunnr,
augdt type bsid-augdt,
augbl type bsid-augbl,
belnr type bsid-belnr,
budat type bsid-budat,
blart type bsid-blart,
shkzg type bsid-shkzg,
wrbtr type bsid-wrbtr,
end of ty_bsid.
types: begin of ty_out2,
lifnr type bsik-lifnr,
wrbtr type bsik-wrbtr,
end of ty_out2.
types: begin of ty_out,
lifnr type lfa1-lifnr,
name1 type lfa1-name1,
addr(162) type c,
J_1IPANNO type J_1IMOVEND-J_1IPANNO,
J_1ICSTNO type J_1IMOVEND-J_1ICSTNO,
J_1ISERN type J_1IMOVEND-J_1ISERN,
opbal type bseg-wrbtr,
purch type bseg-wrbtr,
PAYM type bseg-wrbtr,
grdeb type bseg-wrbtr,
othdeb type bseg-wrbtr,
othcre type bseg-wrbtr,
tds type bseg-wrbtr,
bal type bseg-wrbtr,
blart type bkpf-blart,
bschl type bseg-bschl,
end of ty_out.
types: begin of ty_bsegtemp,
lifnr TYPE bseg-lifnr,
end of ty_bsegtemp.
types: begin of ty_bsegnew,
wrbtr TYPE bseg-wrbtr,
lifnr TYPE bseg-lifnr,
end of ty_bsegnew.
data: it_bsik type table of ty_bsik with header line,
it_bsid type table of ty_bsid with header line,
it_bsak type table of ty_bsik with header line,
it_out2 type table of ty_out2 with header line,
it_out3 type table of ty_out2 with header line.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv,
it_listheader TYPE slis_t_listheader,
it_alvevent TYPE slis_t_event,
gt_events TYPE slis_t_event WITH HEADER LINE.
DATA: I_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA : wa_fieldcat TYPE slis_fieldcat_alv,
wa_listheader TYPE slis_listheader,
wa_alvevent TYPE slis_alv_event.
DATA: WA_SORT TYPE SLIS_SORTINFO_ALV.
DATA: ls_line TYPE slis_listheader.
DATA : g_repid LIKE sy-repid, " Program ID
g_layout TYPE slis_layout_alv. " Layout Workarea
DEFINE m_fieldcat.
wa_fieldcat-col_pos = &1. " Fieldcat column postion
wa_fieldcat-fieldname = &2. " Field name
wa_fieldcat-DO_SUM = &3.
wa_fieldcat-seltext_m = &4. " Column Text
wa_fieldcat-outputlen = &5.
append wa_fieldcat to it_fieldcat.
clear wa_fieldcat.
END-OF-DEFINITION.
DATA: wa_lfa1 TYPE ty_lfa1,
wa_bkpf TYPE ty_bkpf,
wa_bkpf1 type ty_bkpf,
wa_bsegtemp type ty_bsegtemp,
wa_bsegnew type ty_bsegnew,
wa_bsegnew1 type ty_bsegnew,
wa_J_1IMOVEND type ty_J_1IMOVEND,
wa_t005u type ty_t005u,
wa_bseg TYPE ty_bseg,
wa_out TYPE ty_out.
DATA: gt_out TYPE STANDARD TABLE OF ty_out,
gt_out1 TYPE STANDARD TABLE OF ty_out,
gt_lfa1 TYPE STANDARD TABLE OF ty_lfa1,
gt_bsegtemp type standard table of ty_bsegtemp with header line,
gt_bsegnew type standard table of ty_bsegnew with header line,
gt_bsegnew1 type standard table of ty_bsegnew with header line,
gt_J_1IMOVEND type standard table of ty_J_1IMOVEND,
gt_bkpf1 TYPE STANDARD TABLE OF ty_bkpf WITH HEADER LINE,
gt_t005u type standard table of ty_t005u,
gt_bseg TYPE STANDARD TABLE OF ty_bseg WITH HEADER LINE,
gt_bkpf TYPE STANDARD TABLE OF ty_bkpf WITH HEADER LINE.
selection-screen begin of block b1 with frame title text-001.
select-options: s_budat for bkpf-budat obligatory,
s_ktokk for lfa1-ktokk obligatory.
s_wrbtr for bseg-wrbtr.
parameters: p_bukrs type bkpf-bukrs obligatory default '1000'.
p_gjahr type bkpf-gjahr obligatory.
p_lifnr type bseg-lifnr obligatory default '300040',
p_ktokk type lfa1-ktokk obligatory default 'Z200'.
selection-screen end of block b1.
START-OF-SELECTION.
PERFORM sub_fetch_data.
PERFORM sub_process_data.
END-OF-SELECTION.
PERFORM sub_build_fieldcat.
PERFORM sub_build_layout.
PERFORM eventtab_build USING gt_events[].
PERFORM comment_build USING it_listheader[].
PERFORM sub_disp_data.
*& Form SUB_BUILD_FIELDCAT
text
--> p1 text
<-- p2 text
FORM sub_build_fieldcat .
sort gt_out by name1.
*DEFINE M_SORT.
ADD 1 TO WA_SORT-SPOS.
WA_SORT-FIELDNAME = &1.
WA_SORT-UP = 'X'.
WA_SORT-SUBTOT = &2.
APPEND WA_SORT TO I_SORT.
END-OF-DEFINITION.
*m_sort 'NAME1' 'X'.
*M_SORT 'ADDR' 'X'.
m_fieldcat 1 'LIFNR' ' ' text-026 10.
m_fieldcat 2 'NAME1' ' ' text-006 35.
m_fieldcat 3 'ADDR' ' ' text-007 162.
m_fieldcat 4 'J_1IPANNO' '' text-008 40.
m_fieldcat 5 'J_1ICSTNO' '' text-009 40.
m_fieldcat 6 'J_1ISERN' '' text-010 40.
m_fieldcat 7 'OPBAL' '' text-011 18.
m_fieldcat 8 'PURCH' '' text-012 18.
m_fieldcat 9 'PAYM' '' text-013 18.
m_fieldcat 10 'GRDEB' '' text-014 18.
m_fieldcat 11 'OTHDEB' '' text-020 18.
m_fieldcat 12 'OTHCRE' '' text-021 18.
m_fieldcat 13 'BAL' '' text-023 18.
m_fieldcat 14 'TDS' '' text-022 18.
ENDFORM. " SUB_BUILD_FIELDCAT
*& Form SUB_BUILD_LAYOUT
text
--> p1 text
<-- p2 text
FORM sub_build_layout .
g_layout-zebra = 'X'.
g_layout-colwidth_optimize = 'X'.
ENDFORM. " SUB_BUILD_LAYOUT
*& Form EVENTTAB_BUILD
text
-->P_GT_EVENTS[] text
FORM eventtab_build USING gt_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = gt_events.
READ TABLE gt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE 'TOP_OF_PAGE' TO ls_event-form.
APPEND ls_event TO gt_events.
ENDIF.
ENDFORM. " EVENTTAB_BUILD
*& Form COMMENT_BUILD
text
-->P_IT_LISTHEADER[] text
FORM comment_build USING p_it_listheader TYPE
slis_t_listheader.
data: v_text(30) type c,
v_datelow(10) type c,
v_datehigh(10) type c,
v_month(2) type c,
v_day(2) type c,
v_year(4) type c.
v_day = s_budat-low+6(2).
v_month = s_budat-low+4(2).
v_year = s_budat-low+0(4).
concatenate v_day '.' v_month '.' v_year into v_datelow.
clear: v_day,v_month,v_year.
v_day = s_budat-high+6(2).
v_month = s_budat-high+4(2).
v_year = s_budat-high+0(4).
concatenate v_day '.' v_month '.' v_year into v_datehigh.
clear: v_day,v_month,v_year.
concatenate 'From' v_datelow 'To' v_datehigh into v_text
separated by space.
clear: v_datelow, v_datehigh.
ls_line-typ = 'H'.
ls_line-info = text-116.
APPEND ls_line TO p_it_listheader.
ls_line-typ = 'S'.
ls_line-key = text-090.
ls_line-info = v_text.
APPEND ls_line TO p_it_listheader.
ENDFORM. " COMMENT_BUILD
*& Form TOP_OF_PAGE
text
--> p1 text
<-- p2 text
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_listheader.
ENDFORM. " TOP_OF_PAGE
*& Form SUB_DISP_DATA
text
--> p1 text
<-- p2 text
FORM sub_disp_data .
g_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
it_fieldcat = it_fieldcat[]
is_layout = g_layout
i_save = 'U'
it_events = gt_events[]
IT_SORT = I_SORT[]
TABLES
t_outtab = gt_out1[].
ENDFORM. " SUB_DISP_DATA
*& Form sub_fetch_data
text
--> p1 text
<-- p2 text
form sub_fetch_data .
select bukrs
belnr
gjahr
blart
budat
from bkpf
into table gt_bkpf
where budat in s_budat
and bukrs = p_bukrs
and gjahr = p_gjahr
and blart in ('KR','KG','KZ','RE','DK','Z1','AB','SA','KA','DZ').
select belnr
gjahr
bschl
umskz
shkzg
wrbtr
hkont
lifnr
from bseg
into table gt_bseg
for all entries in gt_bkpf
where belnr = gt_bkpf-belnr
and gjahr = gt_bkpf-gjahr
and gjahr = p_gjahr
and bschl in (21,25,29,31,50,39,38,19,35).
and kunnr in gt_
and lifnr = '0000300019'.
select belnr
gjahr
bschl
umskz
shkzg
wrbtr
hkont
kunnr
from bseg
appending table gt_bseg
for all entries in gt_bkpf
where belnr = gt_bkpf-belnr
and gjahr = gt_bkpf-gjahr
and gjahr = p_gjahr
and bschl in (21,25,29,31,50,39,38,19).
break manukapur.
sort gt_bseg by lifnr bschl.
delete adjacent duplicates from gt_bseg comparing all fields.
loop at gt_bseg into wa_bseg.
if wa_bseg-lifnr is not initial.
move: wa_bseg-lifnr to wa_bsegtemp-lifnr.
append wa_bsegtemp to gt_bsegtemp.
endif.
endloop.
delete adjacent duplicates from gt_bsegtemp comparing lifnr.
select lifnr
name1
ort01
ort02
pfach
pstlz
regio
stras
ktokk
telf1
telf2
from lfa1
into table gt_lfa1
for all entries in gt_bseg
where lifnr = gt_bseg-lifnr
and ktokk in s_ktokk.
and lifnr = '0000300030'.
select bland
bezei
from t005u
into table gt_t005u
for all entries in gt_lfa1
where bland = gt_lfa1-regio
and land1 = 'IN'
and spras = sy-langu.
select lifnr
J_1IPANNO
J_1ICSTNO
J_1ISERN
from J_1IMOVEND
into table gt_J_1IMOVEND
for all entries in gt_bseg
where lifnr = gt_bseg-lifnr.
*select bukrs
belnr
blart
budat
from bkpf
into table gt_bkpf1
where budat < s_budat-low.
and zfdbt < s_budat-low.
select
wrbtr
lifnr
from bseg
into table gt_bsegnew
for all entries in gt_bkpf
where belnr = gt_bkpf-belnr
and xopvw = 'X' .
and zfbdt < s_budat-low.
select bukrs
lifnr
augdt
augbl
belnr
budat
blart
shkzg
wrbtr
from bsik
into table it_bsik
for all entries in gt_bseg
where lifnr = gt_bseg-lifnr
and lifnr = '0000300000'
and bukrs = '1000'
and budat <= s_budat-low.
select bukrs
lifnr
augdt
augbl
belnr
budat
blart
shkzg
wrbtr
from bsak
appending table it_bsik
for all entries in gt_bseg
where bukrs = '1000'
and lifnr = gt_bseg-lifnr
and lifnr = '0000300000'
and budat <= s_budat-low
and augdt > s_budat-low.
select bukrs
kunnr
augdt
augbl
belnr
budat
blart
shkzg
wrbtr
from bsid
into table it_bsid
for all entries in gt_bseg
where bukrs = '1000'
and kunnr = gt_bseg-lifnr
and kunnr = '0000300000'
and budat <= s_budat-low.
select bukrs
kunnr
augdt
augbl
belnr
budat
blart
shkzg
wrbtr
from bsad
appending table it_bsid
for all entries in gt_bseg
where bukrs = '1000'
and kunnr = gt_bseg-lifnr
and kunnr = '0000300000'
and budat <= s_budat-low
and augdt > s_budat-low.
if it_bsid[] is not initial.
append lines of it_bsid to it_bsik.
endif.
*delete gt_bsegnew where lifnr <> '0000300000'.
*break manukapur.
*sort gt_bsegnew by lifnr.
*loop at gt_bsegnew into wa_bsegnew.
*collect wa_bsegnew into gt_bsegnew1.
*endloop.
loop at it_bsik .
it_out2-lifnr = it_bsik-lifnr.
*it_out1-budat = it_bsik-budat.
*it_out1-blart = it_bsik-blart.
if it_bsik-SHKZG = 'H'.
it_out2-wrbtr = it_bsik-wrbtr.
else .
it_out2-wrbtr = it_bsik-wrbtr * -1.
endif.
append it_out2.
clear: it_out2, it_bsik.
*endif.
*clear it1.
endloop.
sort it_out2 by lifnr.
loop at it_out2.
it_out3-lifnr = it_out2-lifnr.
it_out3-wrbtr = it_out2-wrbtr.
collect it_out3.
clear: it_out3, it_out2.
endloop.
endform.
*& Form sub_process_data
text
--> p1 text
<-- p2 text
form sub_process_data .
*sort gt_bsegtemp by lifnr .
sort gt_bseg by lifnr bschl.
sort gt_bsegnew by lifnr.
sort it_out3 by lifnr.
*loop at gt_bsegnew into wa_bsegnew.
*at end of lifnr.
*sum.
*endat.
*endloop.
sort gt_bkpf by blart.
loop at gt_bseg into wa_bseg.
if wa_bseg-lifnr is not initial.
read table gt_lfa1 into wa_lfa1 with key lifnr = wa_bseg-lifnr.
move: wa_lfa1-name1 to wa_out-name1,
wa_lfa1-lifnr to wa_out-lifnr.
read table gt_t005u into wa_t005u with key bland = wa_lfa1-regio.
concatenate wa_lfa1-stras ',' wa_lfa1-ort01 ','
wa_lfa1-ort02 ',' wa_t005u-bezei ','
wa_lfa1-pfach ','
wa_lfa1-pstlz ',' 'Ph:'
wa_lfa1-telf1 ','
wa_lfa1-telf2
into wa_out-addr separated by space.
read table gt_J_1IMOVEND into wa_J_1IMOVEND with key lifnr = wa_bseg-lifnr.
move: wa_J_1IMOVEND-J_1IPANNO to wa_out-J_1IPANNO,
wa_J_1IMOVEND-J_1ICSTNO to wa_out-J_1ICSTNO,
wa_J_1IMOVEND-J_1ISERN to wa_out-J_1ISERN.
read table gt_bkpf into wa_bkpf with key belnr = wa_bseg-belnr.
if wa_bkpf-blart = 'RE' and wa_bseg-bschl = 31 or
wa_bkpf-blart = 'KR' and wa_bseg-bschl = 31.
if wa_bseg-shkzg = 'H'.
*wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
wa_out-purch = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
*wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
wa_out-purch = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'KR' and wa_bseg-bschl = 50.
*wa_out-tds = wa_out-tds + wa_bseg-wrbtr.
if wa_bseg-shkzg = 'H'.
*wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
wa_out-tds = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
*wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
wa_out-tds = wa_bseg-wrbtr * -1.
endif.
endif.
*wa_out-tds = wa_bseg-wrbtr.
endif.
if wa_bkpf-blart = 'KG' and wa_bseg-bschl = 21.
*wa_out-grdeb = wa_out-grdeb + wa_bseg-wrbtr.
if wa_bseg-shkzg = 'H'.
*wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
wa_out-grdeb = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
*wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
wa_out-grdeb = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'RE' and wa_bseg-bschl = 21.
*wa_out-grdeb = wa_out-grdeb + wa_bseg-wrbtr.
if wa_bseg-shkzg = 'H'.
*wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
wa_out-grdeb = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
*wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
wa_out-grdeb = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'KZ' and wa_bseg-bschl = 25
*or wa_bkpf-blart = 'KZ' and wa_bseg-bschl = 29
**and wa_bseg-umskz = 'A'
or wa_bkpf-blart = 'SA' and wa_bseg-bschl = 25.
if wa_bseg-shkzg = 'H'.
*wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
wa_out-paym = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
*wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
wa_out-paym = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'DK' and wa_bseg-bschl = 31.
if wa_bseg-shkzg = 'H'.
wa_out-othcre = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
wa_out-othcre = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'AB' and wa_bseg-bschl = 31.
if wa_bseg-shkzg = 'H'.
wa_out-othcre = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
wa_out-othcre = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'SA' and wa_bseg-bschl = 31.
if wa_bseg-shkzg = 'H'.
wa_out-othcre = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
wa_out-othcre = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'KZ' and wa_bseg-bschl = 38.
if wa_bseg-shkzg = 'H'.
wa_out-othcre = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
wa_out-othcre = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'DZ' and wa_bseg-bschl = 19
and wa_bseg-umskz = 'A'.
if wa_bseg-shkzg = 'H'.
wa_out-othcre = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
wa_out-othcre = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'KA' and wa_bseg-bschl = 39
and wa_bseg-umskz = 'G' or
wa_bseg-umskz = 'H' or
wa_bseg-umskz = 'J' or
wa_bseg-umskz = 'L' OR
wa_bseg-umskz = 'A'.
if wa_bseg-shkzg = 'H'.
wa_out-othcre = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
wa_out-othcre = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'KA' and wa_bseg-bschl = 35.
if wa_bseg-shkzg = 'H'.
wa_out-othcre = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
wa_out-othcre = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if ( wa_bkpf-blart = 'KZ' and wa_bseg-bschl = 29 )
and wa_bseg-umskz = 'A' or
wa_bseg-umskz = 'B' or
wa_bseg-umskz = 'I' or
wa_bseg-umskz = 'M' or
wa_bseg-umskz = 'O' or
wa_bseg-umskz = 'V'.
if wa_bseg-shkzg = 'H'.
wa_out-othcre = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
wa_out-othcre = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'AB' and wa_bseg-bschl = 27.
if wa_bseg-shkzg = 'H'.
wa_out-othcre = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
wa_out-othcre = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
if wa_bkpf-blart = 'Z1' and wa_bseg-bschl = 21 .
if wa_bseg-shkzg = 'H'.
wa_out-othcre = wa_bseg-wrbtr.
else.
if wa_bseg-shkzg = 'S'.
wa_out-othcre = wa_bseg-wrbtr * -1.
endif.
endif.
endif.
**if wa_bseg-shkzg = 'H'.
***wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
**wa_out-othdeb = wa_bseg-wrbtr.
**else.
**if wa_bseg-shkzg = 'S'.
***wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
**wa_out-othdeb = wa_bseg-wrbtr * -1.
**endif.
**endif.
**endif.
***if wa_bkpf-blart = 'AB' and wa_bseg-bschl = 27.
wa_out-othdeb = wa_bseg-wrbtr.
***endif.
***if wa_bkpf-blart = 'Z1' and wa_bseg-bschl = 21.
wa_out-othdeb = wa_bseg-wrbtr.
***endif.
read table it_out3 with key lifnr = wa_bseg-lifnr binary search.
on change of wa_bseg-lifnr.
*move: wa_lfa1-name1 to wa_out-name1,
wa_lfa1-lifnr to wa_out-lifnr.
wa_out-opbal = it_out3-wrbtr.
endon.
*if wa_out-opbal is not initial.
*wa_out-bal = wa_out-opbal + wa_out-purch - wa_out-grdeb - wa_out-othdeb + wa_out-othcre.
**else.
*wa_out-bal = wa_out-purch - wa_out-grdeb - wa_out-othdeb + wa_out-othcre.
*endif.
wa_out-bal = wa_out-opbal + wa_out-purch + wa_out-paym + wa_out-grdeb + wa_out-othdeb + wa_out-othcre.
at end of lifnr.
*wa_out-bal = wa_out-opbal + wa_out-purch - wa_out-grdeb - wa_out-othdeb + wa_out-othcre.
append wa_out to gt_out.
*collect wa_out into gt_out.
clear wa_out.
clear it_out3.
clear wa_bsegnew1.
endat.
endif.
clear: wa_bseg, wa_bkpf, wa_J_1IMOVEND.
endloop.
loop at gt_out into wa_out.
collect wa_out into gt_out1.
endloop.
endform. " sub_process_data
Regards,
Santosh Kumar M. -
How to clear the open items and parked items for customer
Hi Experts,
I need to clear the open items and parked items for customer.
So any one could let me know the transaction code and procedure for clearing the items for customer.
Best regards,
Kesava balaji.Hello,
Parked items will have NO RELEVANCE, unless you post it.
You CANNOT clear parked items.
You can clear the posted items using F.13 or F-32
Regards,
Ravi -
UWL Approve and Reject buttons not available in Portal 7.31?
Hi I've been doing some research and came across some interesting articles...
http://scn.sap.com/thread/1871429
http://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=221611154
I am trying to enable the Approve and Reject buttons per customer requirements but having some issues making these options available in the UWL ...
Based on the articles above...
Does the UWL not support this ?
If it does, can anyone direct me on how to enable these ?
ThanksAfter doing some research, it looks like the XML needs to be modified...
Can anyone confirm that the code is still relevant in 7.31?
<Action
reference="com.sap.pct.srm.core.action.approve"/>
<Action
reference="com.sap.pct.srm.core.action.reject"/> -
Validate and reject checkin for big files???
Is there a way to validate and reject checkin for big files?
From client side, sound like, a custom checkin policy won't work. If user overwrite the policy at checkin, then it still open up another "backdoor" for them to checkin.
From server side, I try TFS plugin but that doesn't work. The CheckinNotification event won't notify after the fact until the checkin already committed and it's already late.
Any other suggestion?
Thx.Hi Garynguyen,
Thanks for your post.
I think you need create the check-in policy and create server plugin to enforce the check-in policy, please refer to the solution in this article:
https://binary-stuff.com/post/how-to-enforce-check-in-policies.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Hi
I am trying to make a program
During execute a measurement count the time.
If measurement time is more than 90 second proceed to the next steps (or stop the measurement)
If measurement time is less than 90 second, wait until 90 second and then proceed to next steps or stop
I appreciate deeply if some help me.What sort of measurement are you talking about? What affects the time of your measurement? The very basic description you have is of a state machine and there are numerous examples of that
1. Actually I would like measure the time of "Alignment" function done by wafer test equipment name Prober ( the model is "UF3000" made by TOKYO SEIMITSU CO., LTD.
2.. Right now the "Alignment" function is started when a GPIB command is written as "N" and wait for resposne 70 in polling.
Please refer to the attachment for Alignement function if it help you.
In the attahement
For Alignment error delay we are using =600
Alignment counter =30000
align loop cnt = 30000
This is a program wriiten by another person and he is not availabe any more. What I am trying to do is
1. During execute a "Alignment " function count the time.
2. If "Alignment " function time is more than 90 second proceed to the next steps
3. If "Alignment " function is less than 90 second, wait until 90 second and then proceed to next steps
Attachments:
Alignment function.xlsx 153 KB
Maybe you are looking for
-
Battery BL5C charges and discharges very quickly
Hi, I am using Nokia 1650, Battery BL5C. This battery fully charges in less than 1 hour(the messgae saying battery fully charged pops-up). And this, so-called fully charged battery discharges very quickly, in a days time and mobile gets switched off.
-
Mavericks (10.9.1) crashes & freezing
Hi, 1 time for week my iMac (27 i5 2,9GHz, 8GB RAM, nVidia GeForce GTX 660M e Fusion Drive) FREEZE and i must RESTART !!! Here the log of today, from few minutes before the CRASH to the REBOOT: 30/01/14 12:14:55,094 icbaccountsd[3229]: -[ICBLocalDict
-
Imovie constantly crashing since upgrade
I just upgraded to mountain lion and imovie '11 - now imovie is CONSTANTLY crashing. Like every 10 minutes - can anyone help?
-
BAPI_BUPA_SEARCH && mc_name1
We use the function BAPI_BUPA_SEARCH to search for BP's. This function has as input parameter: CENTRALDATA with the following fields: PARTNER - BU_PARTNER - CHAR 10 MC_NAME1 - BU_MCNAME1 - CHAR 35 - Search Help Field 1 (Name 1/Last Name) MC
-
Error in SAP_J2EE_ADMIN Role
Hi All, I have installed EP 7.0 ( ABAP + JAVA ) stack on WIn 2003. When i login with J2EE_ADMIN to Portal it gives me error as No portal roles are assigned for this user.If this problem persists, contact your system administrator. If i checked in ABA