Changing LDB
Hi Experts,
I have a Z report which uses Logical Database. In LDB, it define the selection screen fields too. I need to make those fields as mandatory. LDB name is SAP Standard. There I find Selections tab, where the selection screen fields are defined. As it is SAP Standard, how do I make changes in it.
Urgent. Plz help.
Thanks.
Khan
Hi,
Do the vgalidation for the field if you want to make it mandatory.
AT selection screen.
If p_fld is initial.
msg e000 with 'Please enter the value'.
If it is initial, it will throw a message. If a value is entered LDB fetches the data accordingly
Thanks,
Keerthi.
Similar Messages
-
Hi all
can, we change LDB selection screen according to our requierment.Hi Raj,
Yes. we can.
try the below link for more info.
[http://help.sap.com/saphelp_nw70/helpdata/en/9f/db9c2e35c111d1829f0000e829fbfe/content.htm|http://help.sap.com/saphelp_nw70/helpdata/en/9f/db9c2e35c111d1829f0000e829fbfe/content.htm]
[http://www.abapcode.sapbrainsonline.com/2008/03/selection-screen-abap-keyword.html|http://www.abapcode.sapbrainsonline.com/2008/03/selection-screen-abap-keyword.html]
Reward if found helpful.
Regards,
Boobalan Suburaj -
hi i have a unusual requirement
Presently in one of my HR reports I am using 'PCH' LDB.
In the selection screen we have the object ID which is defined in standard program with no-intervals like this.
SELECT-OPTIONS:
PCHOBJID FOR OBJEC-OBJID VALUE-REQUEST "ObjektId
MODIF ID $OB NO INTERVALS.
Now in my program I want to have it as regular select option. Can we change this in anyway.
I was able to modify the rest of the fields by using AT-SELECTION-SCREEN OUTPUT EVENT.
Please help me with this, points guaranteedHi rhaul,
1. I don't we can directly do as per ur requirement.
2. Bcos No-Intervals cannot be modified using Loop at screen.
3. Another option is to copy the standard Ldb and use it.
regards,
amit m. -
Can I change the select option text for pnp ldb ?
hi Akll,
I am using a pnp logical database in my report and I have created my own hr category because i wanted to use field ename from the ldb in the selection screen. Now the problem with ename is I cant do a case sensitive search.
So I have replaced it with sname, so now my screen has sname instead of ename, however I want to change the selection text for select option ( at present it is 'EE name can be sorted' )
Kindly advise,
thanks,
GVI guess the text cannot be changed.. anyways you can add the field as an additional field by normal coding in your report
-
How to change the stsndard selection text for a LDB..
Hi All,
I am using a LDB selection screen. I want to change the selection text of the standard selecetion field.
For ex, for LDB- PNP, i want to change the 'Personnel number' text to 'Employee ID'...
Please let me know how to do this.
Regards
NandaHi Nanda,
Here is the code which is exactly suitable for this req.
TABLES: pernr.
data: i_tab type standard table of RSSELTEXTS with header line.
initialization.
i_tab-name = 'PNPPERNR'.
i_tab-kind = 'S'.
i_tab-text = 'Employee ID'.
append i_tab.
CALL FUNCTION 'SELECTION_TEXTS_MODIFY'
EXPORTING
program = 'ZESO_TEST'
tables
seltexts = i_tab
EXCEPTIONS
PROGRAM_NOT_FOUND = 1
PROGRAM_CANNOT_BE_GENERATED = 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.
Thanks
Eswar -
Storing changes done to a selection view of a LDB in a TR
Hi Friends,
I do have a problem while storing the changes done to a LDB selection view in a TR. Please guide me on the same, below is the summary of changes done.
The requirement is as below:
Modified the STD LDB DDF's selection view.
Existing: Payment terms (ZTERM) taken from KNB1.
Required: Payment terms (ZTERM) to be taken from BSID.
So the changes we did are as follows:
Go to SE36>DDF>Extras>Selection views>Copy origin of view SAP to CUS and click on change.
Here we removed the input criteria for KNB1-ZTERM and added BSID-ZTERM as an input field. There was no TR prompted.
Please let us know how to get these changes stored in a TR.
We have also tried adding the below object in a TR# manually, but of no use.
R3TR DSEL SAPDDFSTANDARD
Regards,
Narendra.
P.S. : This results in changing the dynamic selections of FBL5N.Hi Srinivas,
Can you elaborate on your answers...as I have already created CUS (origin of view - a copy of SAP) it is not allowing me to create one more origin of view... can you tell me how to create another origin of view apart from CUS, so that I can start these changes afresh...
Also in SE03 even If i give DSEL and SAPDDFSTANDARD it is not displaying any objects and prompting to give a valid name...
Regards,
Narendra. -
Screen Change when using LDB - pnp
Hi ,
I am facing a strange problem.
I am using LDB -> pnp and HRIN0013 as Master data rep ,
in one of the programs that i developed.
The Screen and program behave fine in the development server.
Once i transport it to the production server, the Screen changes to something completely different.
What i noticed is that in attributes -->'Report category assignment' , HRIN0013 is not present.
This means that HRIN0013 has not been transported?
What can the problem be and how can i fix it?? I need to get this in by tommorow. Help will be highly appreciated.Hi Sanchit,
when I change the report class in an HR report, the system tells me for the change request number.
This change request, introduces, I think, a new record in some customize tables, like t599C.
There must be a record in this table, for the report class that you create.
Hope this helps you,
Carles -
hi
can any body tell be how can i change name of selection option on standard LDB screen of
PNP for eg.
for eg. if i want to display "Employee Subarea"(which comes from pnp ldb) as XYZ
is it possible
regard
vivekHi Vivek,
Here is the code which is exactly suitable for this req.
TABLES: pernr.
data: i_tab type standard table of RSSELTEXTS with header line.
initialization.
i_tab-name = 'PNPPERNR'.
i_tab-kind = 'S'.
i_tab-text = 'Employee ID'.
append i_tab.
CALL FUNCTION 'SELECTION_TEXTS_MODIFY'
EXPORTING
program = 'ZESO_TEST'
tables
seltexts = i_tab
EXCEPTIONS
PROGRAM_NOT_FOUND = 1
PROGRAM_CANNOT_BE_GENERATED = 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.
similarly you can do for other fileds also.
Regards
Vasu -
How to change selection screen on LDB
Hi everybody,
Does anyone know how to change the selection screen on a ABAP report that uses LDB ?
What I want to do is to suppress some fields and buttons and to add hidden fields.
Thanks for your help.
BTHi bruno,
1. use like this :
2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-NAME = 'MYFIELD'.
SCREEN-INPUT = 0.
SCREEN-INVISIBLE = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
regards,
amit m. -
Can i make changes to standered ldb to z ldb.
Hi Friends ,
Presently iam working with sales tax register , inthe attributes section logical database is mentioned as BRF(document segmet) , the data is retrived according to document no ,and posting date .
now i need to retrive the data according to vendor wise , my doubt is, can i copy the logical database to z ldb and make changes to it , root node for this ldb is bosg . when i am trying to make changes inthe report it is not effecting in any wayz ,. please try to give me the solution , for retriving the data according to vendor wise. in the report the ldb is called by keyword get.Hi,
pardon - it is only spare information you gave.
A report is linked to a ldb by its properties.
Moreover you can use a ldb by function ldb_process.
Perhaps there is another way without changing the ldb.
First fill an internal table with data you need.
After that sort it and do your processing.
Separating I/O from processing is a good approach in general.
With kind regards
Walter Habich -
Changing the Label of the LDB - PNP Screen Field(Date field)
Hi,
I got a req. to change the label of the field "Data Selection Period". This field is from PNP LDB.
Pls let me know, is there any FM or any other process?you can customize the PNP selection screen by creating a report class. you will find the button in the report attributes.
or you can define your own selection view via SE80 an maintaining table T599C.
but I dont't think you will be able to rename the field lable. -
Changes in Standard RHBUCH00_LSO with LDB PCH
Hi All,
Greetings!!
I have to make changes in RHBUCH00_LSO which uses LDB PCH . The changes are to display Applicanr also with Participant also . The Standard report at selection screen take only one object type (P Participant ) or (AP Applicnat) .
As it uses LDB making changes in it is difficult .
I am trying yo use FM LDB_PROCESS to call again LDB for AP .
Please throw some light on the use of FM LDB_PROCESS or is some other alternative is available .
Thank YouHi rhaul,
1. I don't we can directly do as per ur requirement.
2. Bcos No-Intervals cannot be modified using Loop at screen.
3. Another option is to copy the standard Ldb and use it.
regards,
amit m. -
Change of LDB from PNP to PNPCE
HI All,
I have a HR program where LDB PNP is used. Now I need to change the LDB from PNP to PNPCE. Can any one please tell me what are the mandatory change I need to do in the program after changing the LDB.
Thanks & Regards,
ArnabHi,
Purpose
The PNPCE logical database supports the evaluation of HR master data. It includes the functions of the PNP logical database and offers additional evaluation options. Therefore, you should use the PNPCE logical database instead of the PNP logical database for all new developments.
The enhanced functionality of PNPCE in comparison to PNP essentially concerns the evaluation of Concurrent Employment, that is the possibility to group evaluate several assignments/personnel numbers of a person. The new events 'GET PERSON' and 'GET GROUP' as well as an enhanced syntax for the INFOTYPES statement (addition AS PERSON TABLE) for the procurement of infotype data enable you to use the new functionality. The use of these new functions is optional. You can run a PNPCE report that does not use the new events and the addition for the INFOTYPES statement in a PNP-compatible session. Since the PNPCE also has an improved selection screen, each report benefits from this even if the report does not use the functions for evaluating Concurrent Employment.
Prerequisites
A report that wants to use the PNPCE must enter this in its report attributes under Logical database.
In addition, the PERNR structure must be declared in the report using the 'TABLES PERNR' statement. You can only use the PERNR structure again in certain circumstances. The use of the 'GET PERNR' event is therefore forbidden. Instead, use the 'GET PERAS' event. Except for the PERNR-PERNR component, all other components of the PERNR structure are no longer filled and have initial values. This kind of programming (with the exception of PERNR-PERNR) therefore not permitted.
In addition to the 'GET PERAS' event, you can also use the GET PERSON' and 'GET GROUP' events. To be able to use these events, you must declare them using the NODES statement (NODES PERSON', 'NODES GROUP', or. NODES PERAS').
Explanation of Terms
If the 'GET PERSON' and 'GET GROUP events and the 'AS PERSON TABLE' addition for the INFOTYPES statement are not used, the report indicates that it does not require the functionality for evaluating Concurrent Employment. In this case, the report runs in a PNP-compatible session. This is referred to as PNP mode in the following documentation. On the other hand, if the report uses the functionality for evaluating Concurrent Employment we refer to CE mode.
Features
Process of an Evaluation
The PNPCE selection screen offers you as standard a range of functions that you can use to restrict the personnel number and person selection. These are discussed in more detail in the following sections. The process is initially as follows regardless of whether the report runs in CE or PNP mode. All available functions and selection conditions leads to the selection of personnel numbers. If you use the sorting function, this set of personnel numbers is then sorted according to the sort criteria you selected. In PNP mode, the GET PERAS event is triggered as a result for each personnel number.
In CE mode, the persons belonging to the personnel numbers are determined first for all personnel numbers selected. The GET PERSON event is then triggered for each person. The person ID is specified in the OBJID component of the PERSON structure. PERNR_NUM contains the total number of personnel assignments (= personnel numbers) that this person has and the ALL_PERNRS table, which contains a list of these personnel numbers regardless of whether they were actually selected or not. The SELECTED flag is set to X for the personnel numbers selected. The flag is initial for all personnel numbers that are not selected. The PROCESS flag specifies whether the personnel number should be processed in the rest of the process. This flag is set to X by default for the personnel numbers selected. However, the report can set or delete this flag at the GET PERSON event for all personnel numbers. In this way, report and logical database communicate with each other which enables the report to control the rest of the process.
In the next step, the logical database groups all personnel numbers of a person that are to be processed (that is, all personnel numbers that have the PROCESS flag set). The report can control the type of grouping using the PNPCE_GROUPING_FROM_PAYROLL flag (normal or payroll grouping) and using the PNPGPRSN (grouping reason) and PNPGPVAL (grouping value) parameters of the selection screen. The GET GROUP event is triggered for each group of personnel numbers determined. The GROUPING_REASON and GROUPING_VALUE components contain the grouping reason and grouping value of this group. The number of personnel numbers that belong to this group and that are processed subsequently is in PERNR_NUM. The included ALL_PERNR table contains a list of these personnel numbers with additional information. The SELECTED flag specifies whether the current personnel number was originally selected (flag is set) or was marked by the report as to be processed. GROUPING_BEGDA and GROUPING_ENDDA contain the validity period that the personnel number has for this grouping. The NO_AUTHORITY flag is set if there is insufficient authorization for a personnel number. This personnel number is not processed further. The SORT component defines a standard sort order for the personnel numbers of a group. The report can change this by overwriting the values. In this way, report and logical database communicate with each other, which controls the further processing sequence of the personnel numbers.
The GET PERAS event is then triggered for all personnel numbers of the group (with the exception of the personnel numbers for which no authorization exists) in the sequence defined by the SORT component (see above). The SELECTED, GROUPING_BEGDA, and GROUPING_ENDDA components have the same meaning here as with the GET GROUP event. The PROCESSED_BEFORE flag specifies whether the personnel number has already been processed once before (it is possible that the personnel number belongs to several groupings and has been therefore been processed several times).
Thanks and Regards
Ravi -
Change existence report LDB PNP to PNPCE
Hi HR experts !!!
We want to convert all the existence reports which are using <b>PNP</b> to <b>PNPCE</b>? Do you guys have idea how much time itll take? As we have around 1000 reports.
I need your input guys
Cheers
UsmanUsman,
I am also on HR project . Were also discussing the same thing !! but it looks like it need another project to change the LDB to PNPCE as reason being lots of reports are written using PNP logic in mind.
But PNPCE Behaves different . Well I must say its another project to change 1000 reports
FYI...
It is better to go in for PNPCE even if you do not have Concurrent Employment to take advantage of the new lDB. The one thing PNPCE does do is when the GET executes only the infotype records retrieved for the interval requested will be retrieved. Whereas PNP by default, will retrieve all infotype records for a given PERNR.
SAP recommends to use PNPCE for all new development. But all the features are not available as of now. The Time Management functions for concurrent employment have not been released for all customers. They are activated for selected pilot customers only. Can get some info in SAP Note : 518520 , 516489..
OSS Note # 561645 ( LDB PNPCE: compatibility with PNP )
Symptom
In some respects, logical database PNPCE responds differently from logical database PNP. This may cause errors in applications that do not know this difference.
Other terms
PNP, PNPCE, payroll period, PNPTIMR9, PNPTIMRA, error message, information message
Reason and Prerequisites
There are the following differences between logical databases PNP and PNPCE:
Unlike PNP, logical database PNPCE does not have two radio buttons you can use to set the payroll period (parameters PNPTIMR9 and PNPTIMRA). Instead, the payroll period is set via parameter PNPTIMED (displayed as a dropdown box on the selection screen). This difference must be taken into account when you call a PNPCE report from another program. Otherwise, in incorrect system response occurs in the PNPCE report called. Problems may also occur if you convert an existing PNP report to PNPCE and want to use an old (PNP) variant.
If you enter an invalid payroll arear or an invalid payroll period, PNP issues an error message whereas PNPCE only issues an information message. This causes problems if you run a PNPCE report in the background because in this case the program runs into an endless loop instead of terminating.
Solution
Implement the attached corrections or import the corresponding support package.
This changes PNPCE in such a way that it responds like PNP
Moreover, also look at OSS
PNPCE: Performance improvement ( OSS note # 687004)
Symptom
You use a report that is based on logical database PNPCE. Either the performance of the report is poor, or the program terminates due to a memory overflow.
Other terms
Performance, PNPCE, 0000, 0001, buffer, memory space, memory space consumption, partitioning, FILL_0000_0001_BUFFER, T77S0, LDB, PCEPS, PNP mode
Reason and Prerequisites
The PNPCE can be used in a PNP-compatible mode. The mode is 'PNP-compatible' if the report does not program on events GET PERSON and GET GROUP and does not use the 'AS PERSON TABLE' extension for the INFOTYPES statements (for more details refer to the documentation of logical database PNPCE in Transaction SE36).
In this mode the performance is worse, as if logical database PNP is used. After the implementation of the correction from this note, the performance is significantly improved.
Another problem is that all personnel numbers that meet the entered selection criteria are internally selected during the execution of the report. Then the system imports all data records of infotypes 0000 and 0001 for all these personnel numbers because they are needed for the internal processing for different reasons. If the amount of personnel numbers or the amount of data records per personnel number is very large, memory problems can occur. The attached correction solves the memory problems.
Solution
Implement the correction according to the correction instructions or import the corresponding Support Package. If you implement the correction manually, you first have to implement Note 705870.
A part of the correction causes the internal processing of the persons/personnel numbers in blocks. If logical database PNPCE runs in PNP mode, the block-by-block processing is executed based on personnel numbers. Otherwise (in CE mode) it is executed based on persons. In PNP mode, logical database PNPCE behaves exactly like logical database PNP concerning the block processing. The settings are also made along the lines of logical database PNP. For a more detailed description refer to Note 705870.
Standard setting of the block size
In CE mode the block size is set to 10,000 persons by default. That is, as long as the number of selected persons does not exceed this value, no block processing is executed at all. A memory space analyses showed that this does not cause problems with the memory space in a system with an average number of infotype 0000 and infotype 0001 data records. However, if the amount of data records (= splits) is very large in your system, you have to reduce the maximum block size manually.
Manual setting of the block size
There are two different options to set the block size manually: a) report-specific by means of a switch which you have to set in the source code of the report, and b) cross-system by means of a switch in switch table T77S0.
The report-specific switch is called PNP_MAX_PARTITION_SIZE. It has priority (if switch T77S0 is activated) and must be set in the source code of the report at event START-OF-SELECTION at the latest.
Example: Set the maximum block size (number of persons that can be processed together) to 250:
START-OF-SELECTION.
PNP_MAX_PARTITION_SIZE = 250.
The switch is recommended for customer-specific reports requiring a lot of memory and therefore need to minimize the additional memory space of logical database PNPCE. It is not suited for SAP standard reports because the report would have to be modified in that case.
The cross-system switch is maintained in table T77S0. It affects all reports that are based on logical database PNPCE and do not use the report-specific switch PNP_MAX_PARTITION_SIZE.
The switch belongs to the LDB group and is called PCEPS. The switch is maintained in Transaction SM30 (enter table 'T77S0' and choose 'Maintain'). The switch is delivered (for Release 4.70 in a Support Package) with initial value (0). An initial value causes the switch to be ignored and the standard setting to be used instead. If you want to set the switch, set it to a numeric value. This value specifies the maximum number of persons that are processed together in a block.
Example:
LDB PCEPS 250
For more information on the procedure of a system upgrade refer to Note 317722
Thanks
Saquib
Message was edited by: Saquib Khan -
Change selection screen in LDB (KDF logical database - NOT HR)
Hi All,
Iu2019d like to use KDF logical database to keep the dynamic selections since user wants to use it but I need to change the selection screen itself. The existing variants for KDF donu2019t meet the user requirements. Some fields I need to hide some add. Like I want to u201Cremoveu201D the field u2018Posting periodu2019 (MONAT) (which is available in dynamic selection screen) and put it on the u201Cmainu201D selection screen.
Do I need to create my own logical database or there is a way around?
Could someone give me a practical advice or sample of solution?
Thanks a lot.Thanks Himanshu,
I did as you suggested but problem is that it does not allow me to hide the whole block.
I have 3 filelds actually on block KD_0 I need to hide (its from selection screen of KDF logical database.)
SELECT-OPTIONS: KD_LIFNR FOR LFA1-LIFNR MATCHCODE OBJECT KRED.
SELECT-OPTIONS: KD_BUKRS FOR LFB1-BUKRS.
SELECTION-SCREEN END OF BLOCK KD_0.
PARAMETERS KD_INDEX AS SEARCH PATTERN FOR TABLE LFA1.
What I did is below. I used sp instead of u201C=u201D since it has many screen for field KD_LIFNR(for frame, text etc).
And when I did just for KD_LIFNR it was hidden but when I did the same for KD_BUKRS it was not hidden . The field has stars u201C*********u201D in it.
Same happen with KD_INDEX. The name of the field is hidden but field not and it filled with ********. Do you have any ideas what it can be?
I debugged it to catch all screen names but no luck
loop at screen.
if screen-name cp 'KD_LIFNR' or
screen-name cp 'KD_BUKRS' or
screen-name cp 'KD_INDEX' or
screen-name = '%B000003_BLOCK_1000' or
screen-name = 'SSCRTEXTS-FRAME_TEXT' or
screen-name = 'SSCRTEXTS-MCID_TEXT' or
screen-name = 'SSCRTEXTS-STRNG_TEXT' or
screen-name = 'SSCRFIELDS-SEARCH_BTN' or
screen-name = '%B025008_BLOCK_1000' or
screen-name = '%F021010_1000' or
screen-name = 'ALCUR' or
screen-name = '%F022012_1000' or
screen-name = 'EXCDT' or
screen-name = 'SSCRFIELDS-UCOMM'.
screen-invisible = '1'.
modify screen.
endif.
endloop.
Maybe you are looking for
-
OEM12c Job - Run a SQL Script from a central location against multiple targets
Hi All: I need to execute a SQL script that can be run as OEM Job against multiple targets from a single location so that the output csv files are all in that central location. My problem is that the sql script job documentation says "Make sure that
-
This is driving me nuts. I am trying to dynamically set the initial value of a date item in a form. I want it to be one hour prior to the current system time rounded down to the hour. i.e. if the current datetime is 07/26/2001 09:12, I want to see 07
-
How to throw a permanent exception during mapping?
I'm using the java coding: "throw new RuntimeException(message);" to trigger an error during mapping. This will set the message status to: "System error, manual restart possible". How can I throw a permanent exception during mapping? So that the mess
-
Hello, please I mobil Asus Zenfone 5th I want you install Adobe Lightroom Mobile, but when I connect to jse GooglePlay so I do not give my phone is not supported. Could anyone advise me. Thank Brabec (Dobry den, prosim Vas mám mobil Asus Zenfone 5. C
-
Hello everyone, I'm trying to understand about physical reads statistics. we have a few statistics related to this. They are physical reads, physical reads cache, physical reads cache prefetch, physical reads direct, physical reads direct (lob), phys