Need help on udf by my requirement
Hi folks,
I am working on file to idoc
My input file has 1 field and output Idoc has 5 records.
in my input Account field has length 16. in this length 16. this field is mapping to all the fields of output.
for example account field has 1234 67 86 34 33. I need to map 1234 to field 1
67 to field 2
86 to field 3
34 to filed 4
33 to field 5.
for every space we need to split and need to map output field. after completing this I need to sort the field 1 of output. please explain me. Account data may very
examples input file :
1238 67 86 34 33
1234 66 86 34 33
need output as 1234 67 86 34 33
1238 66 86 34 33
here only first field is sorted i.e 1234 and 1238 ....remainiing fields need to be same
ur help is highly appreciated.
Thanks,
enivass
Hi,
Since you can have spaces any where in the file/field, use "String Tokenizer" concept, you will not need java mapping, you can use graphical mapping and write UDF by selecting "All values of the Queue/Context"
Here are some useful links:
Re: Split a string with character "+" as separator
http://java.sun.com/j2se/1.4.2/docs/api/java/util/StringTokenizer.html
http://www.javafaq.nu/java-example-code-195.html
http://www.devdaily.com/java/edu/pj/pj010006/ - Concept
http://download-llnw.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html - Concept
http://www.java-examples.com/java-stringtokenizer---specify-delimiter-example - with Delimiter
Regards,
Pavan
Similar Messages
-
Hello Gurus,
Could you please help me if v need any UDF for splitting or can i do it with graphical mapping.
Below is the source structure
<header>id123</header>
<item>item123</item>
<data>abd1232011
^^efg4562011
^^hij7892012</data>
Required target structure
<header>id123</header> 1:1
<item>item123</item> 1:1
<content> 1:1
<data> 1:unbounded
<char>abd</char>
<num>123</num>
<date>2011</date>
</data>
my requirement is to break the 1 source field "data" into 3 target fields "char","num","date". Field data is of type string and received as a raw string. The new line is determined by "^^" in the string. fields are separated by "~"
Kindly help
Thanks in advance.which version of PI u r working on??
In case ur version is PI7.1 (or greater) then chk this code:
UDF1:
Input will be: var1 of type argument
and add 3 result type with name result1, result2, result3
Execution type: all values of a context
String [] temp = var1[0].split("^^");
for(int i=0;i<temp.length;i++)
String [] split1 = temp<i>.split("~");
result1.addValue(split1[0]);
result2.addValue(split1[1]);
result3.addValue(split1[2]);
result1.addContextChange();
result2.addContextChange();
result3.addContextChange();
UDF2:
String [] temp = var1[0].split("^^");
for(int i=0;i<temp.length;i++)
result.addValue("");
mapping:
Input----UDF2---data
-----char
Input----UDF1 -------num
-------date -
I need help in getting the Enduser requirment collection in Quries..!
Hello all,
I am needed to go to the client site to get the end-user requirement on quires...!they have already sent me an xls file which has all the names/Descriptions of the reports they needed in BW module by module wise. These are not the SAP BC reports. now this something i have never worked on..(Gathering the requirement)...!and then when i come back form the site (1week)..we actually need to develop the BW modeling (from the scratch)to meet this. My client already has few other rollouts in BW like..Eg Europe/Asia ,this will help me 40% only and now this is a new rollout.
I need ur help seriously to light success in my trip...
1)What kind of information should i need to gather from end-user?(tell me in detail)
2)there are around 180reports from all the modules...!and they may be or may not meet up the SAP BC.
3)how to do the modelling based on this information?
4)when i should go for Business contant Objects (Cubes/Datasources...etc)
It will be kind enough for you all....!please share your experience with me..!I need it !
Thanks to All.....!
Have a nice day. ([email protected])Hi,
For each and every report , try to get what are the restrictions to be consider and what is the logic of programming behind in the calulation of performance
indicators.
If you are able to get any relavent R/3 report take a look on that . and analyze the logic being used in the calcuations.
Let us take report for Net sales(this is billing report):
And assume the client wants to consider (total sales - value of returns) as net sales.
So here all types of billing documents(wheher it may be sold document or return) will be extracte to BW.
But in the report we need to differentiate the these billing documents on basis of Billing type or Billing category or Etc, to find out the value of net sales.After differentiating few documents come under sold documents and few comes under returns.
So to differentiate the documents we should aware of what are the characterstics are crucial.
And the logic in assigning the value of any document , each organization follows their own logic. So ask them how they are calculating them. This is important when they are following different calculation or logic for displaying values in any R/3 reports . It is important , because they will compare R/3 reports with BW reports later.
And also try to tell them that BW is For analysis reports. It is very difficult(almost not possible) some times to built a report if they are looking pure OLTP oriented report in BW. So examine each report possibilities in BW.
And donot worry for any thing . You will do it easily. Try to do the job with all your efforts.Then you will get success in that.
with rgds,
Anil Kumar Sharma .P -
Need help on implementing a business requirement
Hi,
Here is a Business requirement for which I find no clues on how to do.
I have Location as the actual geography dimension (Custom Dimension). I have programs in my entity dimension. Projects are referred as programs. These programs can run across multiple locations. The programs are identified by codes. The same program running across different locations is indentified by a different program code. Suppose I get a program “50020” in India, I do say 60% of the program in India and transfer 20% to Philippines against a different program code(Say "50021") and 20% to USA against a different program code(Say "50022"). Here “50020”, “50021” and “50022” are the same programs but running across different locations. I have two data forms
1. Transfer Out
2. Transfer In
In "transfer Out" form for the selected program code "50020" in the page dimension, I specify the percentage of program that is transferred to other program codes( say 20% to program code"50021" with location "Philippines" and 20% to program code "50022" with location "USA"). These are captured against the account members say "TransferOutProgram1","TransferOutLocation1" and "TransferOutProgram2","TransferOutLocation2" respectively.
In the "Transfer In" form i have few account members named "TransferInProgram1","TransferInLocation1" and "TransferInProgram2", TransferInLocation2". When they select "50021" and "Philippines" from page dimension, it should show these values "50020" and "India" against "TransferInProgram1" and "TransferInLocation1" respectively. What I mean to say from this form is, India program 50020 has transferred certain amount to Philippines program "50021".
Any suggestions on how this can be managed with business rules or calc scripts or it would be great if this requirement can be achieved by some other means?
Regards,
Ragav.Hi,
Suppose you have a spare dimension (call it details, reporting) in which you have two members, source and Target.
By using this two members on the columns of your form and placing programs and locations (also optionally accounts) on the rows, you can define as many source and target combinations as required in the form. Place all programs and locations in the form rows and enable Supress missing data and block on the rows section. Hence, when you open the form initially, you'll find no rows. Write a business rule which writes 0 to target and brings available budget or fund on the source program-location combination. Attach it to menu and place the menu on the form. So when right clicked and run, user will select source and target combinations and your form will show only the programs and locations those are chosen by the user that (s)he will use for transferring the budget between.
This is the basic concept though, once you get into it, you'll find many ways to enhance this.
Cheers,
Alp -
Hello All!
I am relatively new to creating forms within LiveCycle but I have learned quickly so bare with me on my question.
I have figured out how to highlight a field when a check box is clicked on, however, I cannot get it to remove the highlight when the check box is unchecked?
This is what I used for the highlight:
Subform1.fieldname.fillColor="255,255,0"
Can anyone provide any insight or suggestions on how I might fix this script issue?
Thanks in advance!
-LisaHi,
Script migth be something like this. Put it on Change event of the check box
if (this.rawValue == 1) { Subform1.fieldname.fillColor="255,255,0"
xfa.layout.relayout();
else
{ Subform1.fieldname.fillColor="255,0,0"
xfa.layout.relayout();
BR,
Paul Butenko -
Urgent........need help in report
hi all,
i need help in a report.
the requirement is ,
i need to create a report that will display the SO number in alv grid with check box.
from the list, if i select the check box, it should
Perform VA02, go to the item detail (Sales) (RECORDING)
Update the SO line items Pricing Date to PGI Date
HOW TO DO THIS.
PLEASE HELP ME
Interactive Report
o Report will generate a list of SO based on selection parameters
o User is able to choose all or partial records from the list of SO
o For the selected SO, user is able to perform one of the two functions:
 New Pricing based on Batch ID from Production Order
 New Pricing based on PGI Date
o The result of the updating is displayed on the screen
 SO updated with success
 SO not updated due to errorHi,
Check this SD MODULE alv intereactive report.
Hope it may helps u.
REPORT YMS_ALVINTER.
*& tables declaration
TABLES: VBRK,VBRP.
*& type-pools declaration
TYPE-POOLS: SLIS.
*& data declaration
DATA: G_REPID TYPE SY-REPID.
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "mara
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
WA_EVENT TYPE SLIS_ALV_EVENT,
T_EVENT TYPE SLIS_T_EVENT.
DATA: V_VBELN LIKE VBRK-VBELN,
V_MATNR LIKE VBRP-MATNR.
DATA: BEGIN OF IT_VBRK OCCURS 0,
VBELN LIKE VBRK-VBELN,
WAERK LIKE VBRK-WAERK,
VKORG LIKE VBRK-VKORG,
FKDAT LIKE VBRK-FKDAT,
BUKRS LIKE VBRK-BUKRS,
NETWR LIKE VBRK-NETWR,
END OF IT_VBRK.
DATA: BEGIN OF IT_VBRP OCCURS 0,
VBELN LIKE VBRP-VBELN,
POSNR LIKE VBRP-POSNR,
FKIMG LIKE VBRP-FKIMG,
VRKME LIKE VBRP-VRKME,
NETWR LIKE VBRP-NETWR,
MATNR LIKE VBRP-MATNR,
ARKTX LIKE VBRP-ARKTX,
END OF IT_VBRP.
*& selection screen
SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN,
S_FKDAT FOR VBRK-FKDAT,
S_MATNR FOR VBRP-MATNR.
SELECTION-SCREEN END OF BLOCK B.
**INITIALIZATION.
INITIALIZATION.
G_REPID = SY-REPID.
S_FKDAT-LOW = SY-DATUM - 200.
S_FKDAT-HIGH = SY-DATUM.
APPEND S_FKDAT.
***AT SELECTION-SCREEN.
AT SELECTION-SCREEN.
IF NOT S_VBELN IS INITIAL.
SELECT SINGLE VBELN FROM VBRK
INTO V_VBELN
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE E001(ZZ2).
ENDIF.
ENDIF.
IF NOT S_MATNR IS INITIAL.
SELECT SINGLE MATNR FROM MARA
INTO V_MATNR
WHERE MATNR IN S_MATNR.
IF SY-SUBRC <> 0.
MESSAGE E001(ZZ2).
ENDIF.
ENDIF.
***START-OF-SELECTION.
START-OF-SELECTION.
PERFORM GET_DATA_VBRK.
*& Form GET_DATA_VBRK
text
--> p1 text
<-- p2 text
FORM GET_DATA_VBRK .
SELECT VBELN
WAERK
VKORG
FKDAT
BUKRS
NETWR
INTO TABLE IT_VBRK
FROM VBRK
WHERE VBELN IN S_VBELN
AND FKDAT IN S_FKDAT.
ENDFORM. " GET_DATA_VBRK
*& Form GET_DATA_VBRP
text
--> p1 text
<-- p2 text
FORM GET_DATA_VBRP .
SELECT VBELN
POSNR
FKIMG
VRKME
NETWR
MATNR
ARKTX
FROM VBRP
INTO TABLE IT_VBRP
WHERE VBELN = IT_VBRK-VBELN.
ENDFORM. " GET_DATA_VBRP
***END-OF-SELECTION.
END-OF-SELECTION.
PERFORM EVENT_LIST.
PERFORM GET_FIELD_CATALOG.
PERFORM LIST_DISP .
*& Form list_disp
text
FORM LIST_DISP .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_PF_STATUS_SET = 'POPUP'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_VBRK
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " LIST_DISP
*& Form GET_FIELD_CATALOG
text
--> p1 text
<-- p2 text
FORM GET_FIELD_CATALOG .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = G_REPID
I_INTERNAL_TABNAME = 'IT_VBRK'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = G_REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = IT_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " GET_FIELD_CATALOG
*& Form event_list
text
--> p1 text
<-- p2 text
FORM EVENT_LIST .
CLEAR WA_EVENT.
WA_EVENT-NAME = 'USER_COMMAND'.
WA_EVENT-FORM = 'USER_COMMAND'.
APPEND WA_EVENT TO T_EVENT.
CLEAR WA_EVENT.
ENDFORM. " event_list
*& Form user_command
text
-->R_UCOMM text
-->RS_SELFIELDtext
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
READ TABLE IT_VBRK INDEX RS_SELFIELD-TABINDEX.
PERFORM GET_DATA_VBRP.
PERFORM BUILD_FIELDCATALOG_VBRP .
PERFORM DISPLAY_ALV_VBRP.
ENDCASE.
ENDFORM. "user_command
*& Form BUILD_FIELDCATALOG_VBRP
text
--> p1 text
<-- p2 text
FORM BUILD_FIELDCATALOG_VBRP .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = G_REPID
I_INTERNAL_TABNAME = 'IT_VBRP'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = G_REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = IT_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " BUILD_FIELDCATALOG_VBRP
*& Form DISPLAY_ALV_VBRP
text
--> p1 text
<-- p2 text
FORM DISPLAY_ALV_VBRP .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT = IT_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_VBRP
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " DISPLAY_ALV_VBRP
Thanks,
Shankar -
I have downloaded the new Lion OS X but the AirPlay icon wont appear in my menu bar. The option of AirPlay mirroring is turned on in the Display settings. No issues Air playing through iTunes. Need help. Thanks
AirPlay
AirPlay Mirroring requires a second-generation Apple TV or later, and is supported on the following Mac models: iMac (Mid 2011 or newer), Mac mini (Mid 2011 or newer), MacBook Air (Mid 2011 or newer), and MacBook Pro (Early 2011 or newer).
Several Apple Articles Regarding AirPlay
Apple TV (2nd and 3rd gen)- How to use AirPlay Mirroring
How to set up and configure AirPort Express for AirPlay and iTunes
Troubleshooting AirPlay and AirPlay Mirroring
Using AirPlay -
Sales Quotation Scenario - need help
Hi,
I need help in fulfilling my client requirement.
Once quotation is created it should be in the blocked stage.
Once the sales manager changes the quantity it should not allowed to change the quantity and only Marketing director can change the quantity.
After Marketing director changes and finalizes the quantity in the quotation the item lines in the quotation either need to be greyed out or should not be editable but should allow to add items in the same quotation.
Now Sales order should be able to be created referring this quotation.
Please let me how can we achieve this functionality either by standard SAP or by ABAP development.
Thanks
Venkata Rama ReddyOnce quotation is created it should be in the blocked stage.
Once the sales manager changes the quantity it should not allowed to change the quantity and only Marketing director can change the quantity.
- To disable the qtty in Quotation Creation-VA21 ( either use the SHDB-Transaction Variant, Make the order qtty- display mode/ maintian this order qtty )
+NOTE: incompletion procedure-line item level- remove "order qtty" for quotaiton or else system will not allow to save the Quotation ( or else you save the Incomplete document)
- Use BS02- Status profile- maintian sales manager / Marketing director - as status No.
- Business transaction in the status profile _ maintain the object " Create Order" - objectionable against the status no. & last colum is Authorization code- assign respective profile here & maintain the same in respective Username- for authorizations.
After Marketing director changes and finalizes the quantity in the quotation the item lines in the quotation either need to be greyed out or should not be editable but should allow to add items in the same quotation.
Now Sales order should be able to be created referring this quotation.
HOpe it helps -
This Adobe muse site file requires a newer version of Adobe Muse. I want to comeback to old version Adobe muse i need help to open my file thanks
Hi,
You may need to design the site again in older version OR may be copy and paste in place from new to old except what is new in the latest version.
Hope that helps!
Kind Regards, -
Need help in modifing the following code to display required output
Hi this is the code which i am going to displayoutput here i used FM VRM_SET_VALUES for getting dropdown box when i used it my output race field is not getting any values and blank space is getting displayed
what i want is just i need to display the output according to the selection screen
and the other fields in the selection screen except 'p_gender' are also giving problem when i am keeping where condition to link selection screen
can any one please help me in getting the required output according to selection by modifing the following code
TABLES: pernr,t5u13,cskt , t001p,t500p, t501t,t503t,t513s,t527x,t529t,t530t, t5uaa.
TYPE-POOLS: slis, vrm.
INFOTYPES: 0000, "Actions
0001, "Org Assignment
0002, "Personal Data
0006, "Address
0008, "Basic Pay
0041, "Date Specifications
0077. "Additional Personal Data
CONSTANTS: gc_x TYPE c VALUE 'X',
g_w(1) TYPE c VALUE 'W',
g_h(1) TYPE c VALUE 'H',
g_af(2) TYPE c VALUE 'AF',
g_ai(2) TYPE c VALUE 'AI',
g_01(2) TYPE c VALUE 'R1',
g_02(2) TYPE c VALUE 'R2',
g_03(2) TYPE c VALUE 'R3',
g_05(2) TYPE c VALUE 'R5'.
TYPES : BEGIN OF t_roster,
pernr TYPE p0001-pernr,
ssn TYPE p0002-perid,
first_name TYPE p0002-vorna,
last_name TYPE p0002-nachn,
city TYPE t500p-ort01,
state TYPE t500p-regio,
zipcode TYPE t500p-pstlz,
hire_date(10) TYPE c,
lhire_date(10) TYPE c,
serv_date(10) TYPE c,
eg TYPE p0001-persg,
eg_desc TYPE t501t-ptext,
esg TYPE p0001-persk,
esg_desc TYPE t503t-ptext,
race TYPE p0077-rac01,
*** TYPE p0002-gesch,
job_grade TYPE p0008-trfgr,
job_level TYPE p0008-trfst,
grade_entry_date(10) TYPE c,
job_title TYPE p0001-plans,
title(30) TYPE c,
job_code TYPE p0001-stell,
job_code_desc TYPE t513s-stltx,
job_entry_date(10) TYPE c,
annual_sal TYPE p0008-ansal,
hrly_rate TYPE p0008-bet01,
org_unit TYPE p0001-orgeh,
orgtx(40) TYPE c,
cost_cntr TYPE p0001-kostl,
ltext(40) TYPE c,
personal_area TYPE p0001-werks,
personal_area_desc TYPE t500p-name1,
supervisor(30) TYPE c,
flsa TYPE t5u13-exmpt,
ee01 TYPE t5u13-eeoct,
job_grp TYPE p0001-stell,
aap_code TYPE t5u13-aapct,
aap_code_desc TYPE t5uaa-ltext,
dob TYPE p0002-gbdat,
psa TYPE p0001-btrtl,
psa_desc TYPE t001p-btext,
unionl TYPE p0001-btrtl,
unionc TYPE p0001-btrtl,
END OF t_roster.
DATA : gi_roster TYPE STANDARD TABLE OF t_roster, gi_objec TYPE STANDARD TABLE OF objec,
gi_hrp1000 TYPE STANDARD TABLE OF hrp1000,
gi_cskt TYPE STANDARD TABLE OF cskt,
gi_t001p TYPE STANDARD TABLE OF t001p,
gi_t500p TYPE STANDARD TABLE OF t500p,
gi_t501t TYPE STANDARD TABLE OF t501t,
gi_t503t TYPE STANDARD TABLE OF t503t,
gi_t513s TYPE STANDARD TABLE OF t513s,
gi_t527x TYPE STANDARD TABLE OF t527x,
gi_t529t TYPE STANDARD TABLE OF t529t,
gi_t530t TYPE STANDARD TABLE OF t530t,
gi_t5u13 TYPE STANDARD TABLE OF t5u13,
gi_t5uaa TYPE STANDARD TABLE OF t5uaa.
DATA : gs_roster TYPE t_roster,
gs_objec TYPE objec,
gs_hrp1000 TYPE hrp1000,
gs_cskt TYPE cskt,
gs_t001p TYPE t001p,
gs_t500p TYPE t500p,
gs_t501t TYPE t501t,
gs_t503t TYPE t503t,
gs_t513s TYPE t513s,
gs_t527x TYPE t527x,
gs_t529t TYPE t529t,
gs_t530t TYPE t530t,
gs_t5u13 TYPE t5u13,
gs_t5uaa TYPE t5uaa.
DATA : gv_ltext(40) TYPE c,
gv_ltext1(40) TYPE c,
gv_age(3) TYPE c,
gv_butxt(40) TYPE c,
gv_eeoc(10) TYPE c,
gv_prevdate TYPE datum.
DATA: gi_fieldcat TYPE slis_t_fieldcat_alv,
gs_fieldcat TYPE slis_fieldcat_alv,
i_top_of_page TYPE slis_t_listheader,
g_repid TYPE sy-repid,
g_save,
gs_layout TYPE slis_layout_alv,
gt_events TYPE slis_t_event,
gs_variant LIKE disvariant,
gi_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
DATA: name TYPE vrm_id,
list TYPE vrm_values,
value LIKE LINE OF list.
SELECTION-SCREEN BEGIN OF BLOCK b1
WITH FRAME TITLE text-x02.
PARAMETERS : p_race(10) AS LISTBOX VISIBLE LENGTH 30,
p_gender TYPE p0002-gesch,
p_eeoc TYPE t5u13-eeoct,
p_aap TYPE t5u13-aapct.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN OUTPUT.
REFRESH list.
name = 'P_RACE'.
value-key = 'R1'.
value-text = 'American Indian or Alaskan Native'.
APPEND value TO list.
CLEAR value.
value-key = 'R2'.
value-text = 'Asian'.
APPEND value TO list.
CLEAR value.
value-key = 'R3'.
value-text = 'Black or African American'.
APPEND value TO list.
CLEAR value.
value-key = 'R5'.
value-text = 'White'.
APPEND value TO list.
CLEAR value.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = name
values = list
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
INITIALIZATION.
g_repid = sy-repid.
PERFORM layout_init USING gs_layout.
PERFORM eventtab_build USING gt_events[].
gs_variant-report = g_repid.
g_save = 'A'.
START-OF-SELECTION.
GET pernr.
PERFORM roster_aap.
END-OF-SELECTION.
PERFORM fetch_roster_text.
PERFORM output_roster_display.
*& Form ROSTER_AAP
text
--> p1 text
<-- p2 text
FORM roster_aap .
PERFORM infty_rost_0001.
PERFORM infty_rost_0002.
PERFORM infty_rost_0008.
PERFORM infty_rost_0041.
PERFORM infty_rost_0077.
PERFORM supervisor_rost.
PERFORM append_rost_recs.
ENDFORM. " ROSTER_AAP
*& Form INFTY_ROST_0001
text
FORM infty_rost_0001 .
rp_provide_from_last p0001 space
pn-begda pn-endda.
IF pnp-sw-found = 1.
gs_roster-pernr = p0001-pernr.
gs_roster-eg = p0001-persg.
READ TABLE gi_t501t INTO gs_t501t WITH KEY persg = p0001-persg.
IF sy-subrc <> 0.
APPEND gs_t501t TO gi_t501t.
CLEAR gs_t501t.
ENDIF.
gs_roster-esg = p0001-persk.
READ TABLE gi_t503t INTO gs_t503t WITH KEY persk = p0001-persk.
IF sy-subrc <> 0.
APPEND gs_t503t TO gi_t503t.
CLEAR gs_t503t.
ENDIF.
gs_roster-job_title = p0001-plans.
READ TABLE gi_hrp1000 INTO gs_hrp1000 WITH KEY objid = p0001-plans.
IF sy-subrc <> 0.
APPEND gs_hrp1000 TO gi_hrp1000.
CLEAR gs_hrp1000.
ENDIF.
gs_roster-job_code = p0001-stell.
READ TABLE gi_t513s INTO gs_t513s WITH KEY stell = p0001-stell.
IF sy-subrc <> 0.
APPEND gs_t513s TO gi_t513s.
CLEAR gs_t513s.
ENDIF.
gs_roster-org_unit = p0001-orgeh.
READ TABLE gi_t527x INTO gs_t527x WITH KEY orgeh = p0001-orgeh.
IF sy-subrc <> 0.
APPEND gs_t527x TO gi_t527x.
CLEAR gs_t527x.
ENDIF.
gs_roster-cost_cntr = p0001-kostl.
READ TABLE gi_cskt INTO gs_cskt WITH KEY kostl = p0001-kostl.
IF sy-subrc <> 0.
APPEND gs_cskt TO gi_cskt.
CLEAR gs_cskt.
ENDIF.
gs_roster-personal_area = p0001-werks.
READ TABLE gi_t500p INTO gs_t500p WITH KEY persa = p0001-werks.
IF sy-subrc <> 0.
APPEND gs_t500p TO gi_t500p.
CLEAR gs_t500p.
ENDIF.
gs_roster-job_grp = p0001-stell.
READ TABLE gi_t5u13 INTO gs_t5u13 WITH KEY stell = p0001-stell.
IF sy-subrc <> 0.
APPEND gs_t5u13 TO gi_t5u13.
CLEAR gs_t5u13.
ENDIF.
READ TABLE gi_t5uaa INTO gs_t5uaa WITH KEY aapct = gs_roster-aap_code.
IF sy-subrc <> 0.
APPEND gs_t5uaa TO gi_t5uaa.
CLEAR gs_t5uaa.
ENDIF.
gs_roster-psa = p0001-btrtl.
READ TABLE gi_t001p INTO gs_t001p WITH KEY btrtl = p0001-btrtl.
IF sy-subrc <> 0.
APPEND gs_t001p TO gi_t001p.
CLEAR gs_t001p.
ENDIF.
gs_roster-unionl = p0001-btrtl.
gs_roster-unionc = p0001-btrtl.
ENDIF.
ENDFORM. " INFTY_ROST_0001
*& Form INFTY_ROST_0002
text
FORM infty_rost_0002 .
rp_provide_from_last p0002 space
pn-begda pn-endda.
IF pnp-sw-found = 1.
IF p_gender IS NOT INITIAL AND p_gender NE p0002-gesch.
REJECT.
ENDIF.
gs_roster-ssn = p0002-perid.
gs_roster-first_name = p0002-vorna.
gs_roster-last_name = p0002-nachn.
gs_roster-*** = p0002-gesch.
gs_roster-dob = p0002-gbdat.
ENDIF.
ENDFORM. " INFTY_ROST_0002
*& Form INFTY_ROST_0008
text
FORM infty_rost_0008 .
DATA: lv_wage TYPE lgart,
lv_amount TYPE pad_amt7s.
rp_provide_from_last p0008 space
pn-begda pn-endda.
IF pnp-sw-found = 1.
gs_roster-annual_sal = p0008-ansal.
DO 40 TIMES VARYING lv_wage FROM p0008-lga01
NEXT p0008-lga02
VARYING lv_amount FROM p0008-bet01
NEXT p0008-bet02.
IF lv_wage = '0101'.
gs_roster-hrly_rate = lv_amount.
EXIT.
ENDIF.
ENDDO.
gs_roster-job_grade = p0008-trfgr.
gs_roster-job_level = p0008-trfst.
ENDIF.
ENDFORM. " INFTY_ROST_0008
*& Form INFTY_ROST_0041
text
FORM infty_rost_0041 .
DATA : l_date TYPE datum,
l_hdate TYPE datum,
l_sdate TYPE datum.
rp_provide_from_last p0041 space
pn-begda pn-endda.
IF pnp-sw-found = 1.
CLEAR : l_date,
l_hdate,
l_sdate.
*--Last Hire Date--
CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
EXPORTING
p0041 = p0041
p_datar = 'U1'
P_DATKN =
IMPORTING
p_date = l_date
EXCEPTIONS
illegal_arguments = 1
more_than_one_date = 2
OTHERS = 3
IF sy-subrc <> 0.
ENDIF.
IF NOT l_date IS INITIAL.
CONCATENATE
l_date4(2) l_date6(2) l_date+0(4)
INTO gs_roster-hire_date
SEPARATED BY '/'.
ENDIF.
ENDIF.
*--Last Hire Date--
CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
EXPORTING
p0041 = p0041
p_datar = 'U2'
P_DATKN =
IMPORTING
p_date = l_hdate
EXCEPTIONS
illegal_arguments = 1
more_than_one_date = 2
OTHERS = 3
IF sy-subrc <> 0.
ENDIF.
IF NOT l_hdate IS INITIAL.
CONCATENATE
l_hdate4(2) l_hdate6(2) l_hdate+0(4)
INTO gs_roster-lhire_date
SEPARATED BY '/'.
ENDIF.
*--Service Date--
CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
EXPORTING
p0041 = p0041
p_datar = 'U4'
P_DATKN =
IMPORTING
p_date = l_sdate
EXCEPTIONS
illegal_arguments = 1
more_than_one_date = 2
OTHERS = 3
IF sy-subrc <> 0.
ENDIF.
IF NOT l_sdate IS INITIAL.
CONCATENATE
l_sdate4(2) l_sdate6(2) l_sdate+0(4)
INTO gs_roster-serv_date
SEPARATED BY '/'.
ENDIF.
ENDFORM. " INFTY_ROST_0041
*& Form INFTY_ROST_0077
text
FORM infty_rost_0077 .
DATA: lv_race TYPE races.
rp_provide_from_last p0077 space
pn-begda pn-endda.
IF pnp-sw-found = 1.
IF NOT p_race IS INITIAL AND p_race NE lv_race.
REJECT.
ENDIF.
DO 10 TIMES VARYING lv_race FROM p0077-rac01
NEXT p0077-rac02.
IF lv_race NE space.
IF lv_race EQ g_01.
gs_roster-race = g_ai.
ELSEIF lv_race EQ g_02.
gs_roster-race = g_h.
ELSEIF lv_race EQ g_03.
gs_roster-race = g_af.
ELSEIF lv_race EQ g_05.
gs_roster-race = g_w.
ENDIF.
ENDIF.
ENDDO.
ENDIF.
ENDFORM. " INFTY_ROST_0077
*& Form SUPERVISOR_ROST
text
FORM supervisor_rost .
REFRESH gi_objec.
IF NOT p0001-orgeh IS INITIAL.
CALL FUNCTION 'HRCM_ORGUNIT_MANAGER_GET'
EXPORTING
plvar = '01'
otype = 'O'
objid = p0001-orgeh
begda = pn-begda
endda = pn-endda
PATH_ID = ' '
TABLES
manager_info_table = gi_objec
EXCEPTIONS
path_error = 1
root_error = 2
nothing_found = 3
OTHERS = 4
IF sy-subrc <> 0.
ENDIF.
SORT gi_objec DESCENDING BY endda.
READ TABLE gi_objec INTO gs_objec INDEX 1.
IF sy-subrc = 0.
gs_roster-supervisor = gs_objec-stext.
CLEAR gs_objec.
ENDIF.
ENDIF.
ENDFORM. " SUPERVISOR_ROST
*& Form APPEND_ROST_RECS
text
FORM append_rost_recs .
IF NOT gs_roster-pernr IS INITIAL.
APPEND gs_roster TO gi_roster.
CLEAR gs_roster.
ENDIF.
ENDFORM. " APPEND_ROST_RECS
*& Form FETCH_ROSTER_TEXT
text
FORM fetch_roster_text .
IF p_eeoc IS NOT INITIAL AND p_eeoc NE t5u13-eeoct.
REJECT.
ENDIF.
IF NOT gi_roster IS INITIAL.
SELECT orgeh orgtx FROM t527x
INTO CORRESPONDING FIELDS OF TABLE gi_t527x
WHERE sprsl = sy-langu AND
endda = '99991231'.
SELECT persa ort01 regio pstlz name1
FROM t500p
INTO CORRESPONDING FIELDS OF TABLE gi_t500p.
SELECT persg ptext
FROM t501t
INTO CORRESPONDING FIELDS OF TABLE gi_t501t
WHERE sprsl = sy-langu.
SELECT persk ptext
FROM t503t
INTO CORRESPONDING FIELDS OF TABLE gi_t503t
WHERE sprsl = sy-langu.
SELECT stell stltx FROM t513s
INTO CORRESPONDING FIELDS OF TABLE gi_t513s
WHERE sprsl = sy-langu AND
endda = '99991231'.
SELECT otype plvar objid stext
FROM hrp1000 INTO
CORRESPONDING FIELDS OF TABLE gi_hrp1000
for all entries in gi_roster
WHERE plvar = '01'
AND otype = 'S'.
and objid = gi_roster-job_title.
SELECT stell eeoct exmpt aapct
FROM t5u13
INTO CORRESPONDING FIELDS OF TABLE gi_t5u13.
for all entries in gi_t5u13
WHERE stell = gi_t5u13-stell
AND eeoct = p_eeoc
AND aapct = p_aap.
SELECT aapct eeoct ltext
FROM t5uaa
INTO CORRESPONDING FIELDS OF TABLE gi_t5uaa.
FOR ALL ENTRIES IN gi_roster
WHERE aapct = gi_roster-aap_code
and eeoct = gi_roster-ee01.
SELECT kostl ltext
FROM cskt
INTO CORRESPONDING FIELDS OF TABLE gi_cskt
FOR ALL ENTRIES IN gi_roster
WHERE kostl = gi_roster-cost_cntr
WHERE spras = sy-langu.
SELECT btrtl btext
FROM t001p
INTO CORRESPONDING FIELDS OF TABLE gi_t001p.
FOR ALL ENTRIES IN gi_roster
WHERE btrtl = gi_roster-psa.
ENDIF.
LOOP AT gi_roster INTO gs_roster.
CLEAR :gs_hrp1000,gs_t5u13,gs_t500p,gs_t501t,gs_t503t,gs_t5uaa,gs_cskt,gs_t001p,gs_t513s, gs_t527x,gs_t529t,gs_t530t.
READ TABLE gi_t501t INTO gs_t501t WITH KEY persg = gs_roster-eg.
IF sy-subrc = 0.
gs_roster-eg_desc = gs_t501t-ptext.
ENDIF.
READ TABLE gi_t503t INTO gs_t503t WITH KEY persk = gs_roster-esg.
IF sy-subrc = 0.
gs_roster-esg_desc = gs_t503t-ptext.
ENDIF.
READ TABLE gi_t513s INTO gs_t513s
WITH KEY stell = gs_roster-job_code.
IF sy-subrc = 0.
gs_roster-job_code_desc = gs_t513s-stltx.
ENDIF.
READ TABLE gi_t527x INTO gs_t527x
WITH KEY orgeh = gs_roster-org_unit.
IF sy-subrc = 0.
gs_roster-orgtx = gs_t527x-orgtx.
ENDIF.
READ TABLE gi_hrp1000 INTO gs_hrp1000 WITH KEY objid = gs_roster-job_title.
IF sy-subrc = 0.
gs_roster-title = gs_hrp1000-stext.
ENDIF.
READ TABLE gi_cskt INTO gs_cskt
WITH KEY kostl = gs_roster-cost_cntr.
IF sy-subrc = 0.
gs_roster-ltext = gs_cskt-ltext.
ENDIF.
READ TABLE gi_t5u13 INTO gs_t5u13 WITH KEY stell = gs_roster-job_code.
IF sy-subrc = 0.
gs_roster-ee01 = gs_t5u13-eeoct.
gs_roster-flsa = gs_t5u13-exmpt.
gs_roster-aap_code = gs_t5u13-aapct.
ENDIF.
READ TABLE gi_t500p INTO gs_t500p WITH KEY persa = gs_roster-personal_area.
IF sy-subrc = 0.
gs_roster-city = gs_t500p-ort01.
gs_roster-state = gs_t500p-regio.
gs_roster-zipcode = gs_t500p-pstlz.
gs_roster-personal_area_desc = gs_t500p-name1.
ENDIF.
READ TABLE gi_t001p INTO gs_t001p WITH KEY btrtl = gs_roster-psa.
IF sy-subrc = 0.
gs_roster-psa_desc = gs_t001p-btext.
ENDIF.
READ TABLE gi_t5uaa INTO gs_t5uaa WITH KEY aapct = gs_roster-aap_code eeoct = gs_roster-ee01.
IF sy-subrc = 0.
gs_roster-aap_code_desc = gs_t5uaa-ltext.
ENDIF.
MODIFY gi_roster FROM gs_roster .
ENDLOOP.
ENDFORM. " FETCH_ROSTER_TEXT
*& Form OUTPUT_ROSTER_DISPLAY
text
FORM output_roster_display .
PERFORM build_roster_fieldcatalog.
PERFORM comment_roster_build CHANGING i_top_of_page[].
PERFORM display_roster_alv_report.
ENDFORM. " OUTPUT_ROSTER_DISPLAY
*& Form LAYOUT_INIT
text
FORM layout_init USING rs_layout TYPE slis_layout_alv.
rs_layout-detail_popup = 'X'.
rs_layout-zebra = 'X'.
rs_layout-colwidth_optimize = 'X'.
ENDFORM. " LAYOUT_INIT
*& Form EVENTTAB_BUILD
text
FORM eventtab_build USING rt_events TYPE slis_t_event.
*"Registration of events to happen during list display
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = rt_events.
READ TABLE rt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE gi_top_of_page TO ls_event-form.
APPEND ls_event TO rt_events.
ENDIF.
ENDFORM. " EVENTTAB_BUILD
*& Form top_of_page
text
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_top_of_page.
ENDFORM. "TOP_OF_PAGE
*& Form BUILD_ROSTER_FIELDCATALOG
text
FORM build_roster_fieldcatalog .
gs_fieldcat-fieldname = 'PERNR'.
gs_fieldcat-seltext_m = 'Employee Number'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'SSN'.
gs_fieldcat-seltext_m = 'SSN Number'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'FIRST_NAME'.
gs_fieldcat-seltext_m = 'First Name'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'LAST_NAME'.
gs_fieldcat-seltext_m = 'Last Name'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'CITY'.
gs_fieldcat-seltext_m = 'City'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'STATE'.
gs_fieldcat-seltext_m = 'State'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ZIPCODE'.
gs_fieldcat-seltext_m = 'Zip Code'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'HIRE_DATE'.
gs_fieldcat-seltext_m = 'Hire Date'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'LHIRE_DATE'.
gs_fieldcat-seltext_m = 'Last Hire Date'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'SERV_DATE'.
gs_fieldcat-seltext_m = 'Service Date'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'EG'.
gs_fieldcat-seltext_m = 'Eg'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'EG_DESC'.
gs_fieldcat-seltext_m = 'Eg Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ESG'.
gs_fieldcat-seltext_m = 'Esg'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ESG_DESC'.
gs_fieldcat-seltext_m = 'Eg Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'RACE'.
gs_fieldcat-seltext_m = 'Race'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = '***'.
gs_fieldcat-seltext_m = '***'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_GRADE'.
gs_fieldcat-seltext_m = 'Job Grade'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_LEVEL'.
gs_fieldcat-seltext_m = 'Job Level'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'GRADE_ENTRY_DATE'.
gs_fieldcat-seltext_l = 'Grade Entry Date'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_TITLE'.
gs_fieldcat-seltext_l = 'Job Title'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat..
gs_fieldcat-fieldname = 'TITLE'.
gs_fieldcat-seltext_l = 'Job Title Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_CODE'.
gs_fieldcat-seltext_l = 'Job Code'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_CODE_DESC'.
gs_fieldcat-seltext_l = 'Job Code Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_ENTRY_DATE'.
gs_fieldcat-seltext_l = 'Job Entry Date'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ANNUAL_SAL'.
gs_fieldcat-seltext_l = 'Annual Salary'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'HRLY_RATE'.
gs_fieldcat-seltext_l = 'Hourly Rate'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ORG_UNIT'.
gs_fieldcat-seltext_l = 'Org Unit'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'ORGTX'.
gs_fieldcat-seltext_l = 'Org Text'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'COST_CNTR'.
gs_fieldcat-seltext_l = 'Cost Center'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'LTEXT'.
gs_fieldcat-seltext_l = 'Cost Center Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'PERSONAL_AREA'.
gs_fieldcat-seltext_l = 'Personal Area'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'PERSONAL_AREA_DESC'.
gs_fieldcat-seltext_l = 'Personal Area Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'SUPERVISOR'.
gs_fieldcat-seltext_l = 'Supervisor'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'FLSA'.
gs_fieldcat-seltext_l = 'FLSA'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'EE01'.
gs_fieldcat-seltext_l = 'EE01'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'JOB_GRP'.
gs_fieldcat-seltext_l = 'Job Group'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'AAP_CODE'.
gs_fieldcat-seltext_l = 'AAP Code'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'AAP_CODE_DESC'.
gs_fieldcat-seltext_l = 'AAP Code Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'DOB'.
gs_fieldcat-seltext_l = 'Date of Birth'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'PSA'.
gs_fieldcat-seltext_l = 'Personal Sub Area'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'PSA_DESC'.
gs_fieldcat-seltext_l = 'Personal Sub Area Description'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'UNIONL'.
gs_fieldcat-seltext_l = 'Union Local'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
gs_fieldcat-fieldname = 'UNIONC'.
gs_fieldcat-seltext_l = 'Union Classfication'.
APPEND gs_fieldcat TO gi_fieldcat.
CLEAR gs_fieldcat.
ENDFORM. " BUILD_ROSTER_FIELDCATALOG
*& Form COMMENT_ROSTER_BUILD
text
FORM comment_roster_build CHANGING top_of_page TYPE
slis_t_listheader.
DATA: ls_line TYPE slis_listheader,
l_startdate(10) TYPE c,
l_enddate(10) TYPE c,
l_final_start(22) TYPE c,
l_final_end(22) TYPE c.
CONCATENATE pn-begda4(2)'/'pn-begda6(2)'/'pn-begda+0(4)
INTO l_startdate.
CONCATENATE pn-endda4(2)'/'pn-endda6(2)'/'pn-endda+0(4)
INTO l_enddate.
CONCATENATE 'Start Date:' l_startdate INTO l_final_start.
CONCATENATE 'End Date :' l_enddate INTO l_final_end.
CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = 'AAP-EEOC Roster Report Data '. "Max len = 60
APPEND ls_line TO i_top_of_page.
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-info = l_final_start.
APPEND ls_line TO i_top_of_page.
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-info = l_final_end.
APPEND ls_line TO i_top_of_page.
CLEAR ls_line.
ENDFORM. " COMMENT_ROSTER_BUILD
*& Form DISPLAY_ROSTER_ALV_REPORT
text
FORM display_roster_alv_report .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
is_layout = gs_layout
it_fieldcat = gi_fieldcat
i_save = g_save
is_variant = gs_variant
it_events = gt_events[]
TABLES
t_outtab = gi_roster
EXCEPTIONS
program_error = 1
OTHERS = 2
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " DISPLAY_ROSTER_ALV_REPORT
Regards
sachinhi there,
i want to fetch data from all the fields i ahve given here .It will be a join statement.
the important thing is I need all the values of vbeln in leftside
as output. -
I get the following message when trying to open an .avi downloaded from my video cam, need help, can not find the codec, thank you. This is for Quicktime Player.
"The document “IMAG0026.AVI” could not be opened. A required codec isn't available."Try Perian.
http://perian.org/ -
Need help for my requirement...
Need help for my requirement...
Hello Experts,
I have report where users can input the company, housebank, account ID and posting date.
Now in one column of my report named 'Cash in Bank', I need to get all postings from cash
accounts with GL code ending in '0'. Now, I know that I can get the amounts in BSIS/BSAS
but how do I link it with the proper bank and account?
For example:
Cash in Bank
Bank A
Account ID 1 1,000,000
Account ID 2 25,000,000
Hope you can help me guys. Thank you and take care!hi Viraylab,
each house bank you can find in table T012, in T012K you'll find the bank accounts to the housebank, the G/L account will be in T012K-HKONT.
hope this helps
ec -
My iphone 6 turned off while i was using face time and it returns with the screen saying Hello mean its reset automatically how is this possible ? Now it requires an id and password to activate which i do not remember need help ? but i do remember the id and password which i was using on itunes and Apple store. please i almoost buy it in 890$ so it will be a big lost please help me.
shahzadfromlahore wrote:
Now it requires an id and password to activate which i do not remember need help ? but i do remember the id and password which i was using on itunes and Apple store. please i almoost buy it in 890$ so it will be a big lost please help me
Who set up the phone? Who's Apple ID was used to activate it? -
Need help on SQL Statement for UDF
Hi,
as I am not so familiar with SQL statements on currently selected values, I urgently need help.
The scenario looks as follows:
I have defined two UDFs named Subgroup1 and Subgroup2 which represent the subgroups dependent on my article groups. So for example: When the user selects article group "pianos", he only sees the specific subgroups like "new pianos" and "used pianos" in field "Subgroup1". After he has selected one of these specific values, he sees only the specific sub-subgroups in field "Subgroup2", like "used grand pianos".
I have defined UDTs for both UDFs. The UDT for field "Subgroup1" has a UDF called "ArticleGroup" which represents the relation to the article group codes. The UDT for field "Subgroup2" has a UDF called "Subgroup1" which represents the relation to the subgroups one level higher.
The SQL statement for the formatted search in field "Subgroup1" looks as follows:
SELECT T0.[Name] FROM [dbo].[@B_SUBGROUP1] T0 WHERE T0.[U_ArticleGroup] = (SELECT $[OITM.ItmsGrpCod])
It works fine.
However, I cannot find the right statement for the formatted search in field "Subgroup2".
Unfortunately this does NOT WORK:
SELECT T0.[Name] FROM [dbo].[@B_SUBGROUP2] T0 WHERE T0.[U_Subgroup1] = (SELECT $[OITM.U_Subgroup1])
I tried a lot of others that didn't work either.
Then I tried the following one:
SELECT T0.[Name] FROM [dbo].[@B_SUBGROUP2] T0 WHERE T0.[U_Subgroup1] = (SELECT T1.[Code] FROM [dbo].[@B_SUBGROUP1] T1 WHERE T1.[U_ArticleGroup] = (SELECT $[OITM.ItmsGrpCod]))
Unfortunately that only works as long as there is only one specific subgroup1 for the selected article group.
I would be sooooo happy if there is anyone who can tell me the correct statement for my second UDF!
Thanks so much in advance!!!!
Edited by: Corinna Hochheim on Jan 18, 2010 10:16 PM
Please ignore the "http://" in the above statements - it is certainly not part of my SQL.
Please also ignore the strikes.Hello Dear,
Use the below queries to get the values:
Item Sub Group on the basis of Item Group
SELECT T0.[Name] FROM [dbo].[@SUBGROUP] T0 WHERE T0.[U_GroupCod] =$[OITM.ItmsGrpCod]
Item Sub Group 1 on the basis of item sub group
SELECT T0.[Name] FROM [dbo].[@SUBGROUP1] T0 WHERE T0.[U_SubGrpCod]=(SELECT T0.[Code] FROM [dbo].[@SUBGROUP] T0 WHERE T0.[Name] =$[OITM.U_ItmsSubgrp])
Sub group 2 on the basis of sub group 1
SELECT T0.[Name] FROM [dbo].[@SUBGROUP2] T0 WHERE T0.[U_SubGrpCod1]=(SELECT T0.[Code] FROM [dbo].[@SUBGROUP1] T0 WHERE T0.[Name] =$[OITM.U_ItmsSubgrp1])
this will help you.
regards,
Neetu -
hey i need help with my ipod, i try to download facebook app and it wouldn't let me because it say ios 4.1 require and i dont have ios how do i get it ? please i need help ASAP
What generation of iPod touch do you have? If you don't know, see:
http://support.apple.com/kb/HT1353
If you have an first-generation iPod touch, it can only go to iOS 3.1.3 and hence will not run the Facebook app. If you have a second-generation iPod touch, see:
http://support.apple.com/kb/HT4623
Regards.
Maybe you are looking for
-
Configuration issues in Tomcat Server
Hi, If someone has come across these issues with Tomcat server and have overcome, plese let me know. 1. After updating JSP/jar files in Tomcat server, do we need not stop and restart the server?. if i don't, it hangs. if i restart, i am able to acces
-
Hi, I would like to set up Apache FOP for basic pdf generation in Apex reports. Does anyone know how much it cost for standalone OC4J - per CPU? Also, has anyone tried to use OC4J/FOP for basic PDF in Apex reports? Is the result stable? Finally, is t
-
MinionPro v. 2004 and Serbian glyphs for Wikipedia
At the Serbian Wikipedia we are thinking about an OpenType solution to correctly display Serbian glyphs instead of the standard/Russian ones. We are scanning the Web for fonts containing Serbian glyphs and I personally think MinionPro should be our c
-
Retieving lost "Recently Added" folder
Hello I recently mistakingly deleted the "Recently Added" folder. Is there any way to retrieve this folder?
-
'Undo Command' in Yosimite Mail
Why is there no 'Undo' command under 'Edit' to 'Undo' accidental mail deletions in Mac Mail?