Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: CICS/VSE 2.3 & DL/I macro Coding

77 views
Skip to first unread message

Mario Izaguirre

unread,
Apr 14, 2015, 3:39:22 AM4/14/15
to
Hello Tsutomu.           

In CICS-TS are no longer used macros, you should use the TDLI or MDLI CICS transactions for OPEN, CLOSE the DL/I data bases.


Regards.




2015-04-13 3:53 GMT+02:00 Tsutomu Fukuda <tu_fuk...@mam.co.jp>:

Hi all

We are using the CICS/VSE 2.3 with DL/I Database , and need to change to
CICS/TS.

Program to open DL/I in the CICS/VSE is written as follows assembler
macro-level coding.

~Excerpt~

STEP2    CALLDLI ASMTDLI,(SCHED,SYSPCB,PASSWD)
         CLI   TCAFCTR,0
         BE    STEP21
         CLC   FUNCTC,=CL4'OPEN'
         BE    SCHEDERR
         CLI   TCAFCTR,X'08'
         BNE   SCHEDERR

--------------------------------

STEP51   MVC   DMBNAME,=CL8'RA01IX2D'

STEP52   CALLDLI ASMTDLI,(FUNC,DMBNAME)

         CLI   TCAFCTR,0
         BE    STEP6
         CLI   TCAFCTR,X'01'
         BNE   STRTERR
STEP6    L     WORK2,VSAMRET


--------------------------------


SCHED    DC    CL4'PCB'
SYSPCB   DC    CL8'SYSTEMDL'
PASSWD   DC    CL8'DLZPASS1'

・FCT Definition

* -------------- DL/I FILE    TOP ------------------------------------
         DFHFCT TYPE=DATASET,ACCMETH=DL/I,DATASET=RA01DB0,OPEN=DEFERRED
         DFHFCT TYPE=DATASET,ACCMETH=DL/I,DATASET=RA01IX0,OPEN=DEFERRED
         DFHFCT TYPE=DATASET,ACCMETH=DL/I,DATASET=RA01IX1,OPEN=DEFERRED
         DFHFCT TYPE=DATASET,ACCMETH=DL/I,DATASET=RA01IX2,OPEN=DEFERRED
         DFHFCT TYPE=DATASET,ACCMETH=DL/I,DATASET=RA03IX1,OPEN=DEFERRED
         DFHFCT TYPE=DATASET,ACCMETH=DL/I,DATASET=RO01DB0,OPEN=DEFERRED
         DFHFCT TYPE=DATASET,ACCMETH=DL/I,DATASET=RO01IX0,OPEN=DEFERRED
         DFHFCT TYPE=DATASET,ACCMETH=DL/I,DATASET=RO01IX1,OPEN=DEFERRED
         DFHFCT TYPE=DATASET,ACCMETH=DL/I,DATASET=RO01IX2,OPEN=DEFERRED
         DFHFCT TYPE=DATASET,ACCMETH=DL/I,DATASET=RO03IX1,OPEN=DEFERRED

About this 「CALLDLI ASMTDLI」, Is there a command corresponding to the
「Exec CICS・・・・」?

We would really appreciate your advice.

Regards.

Tsutomu

_______________________________________________
VSE-L mailing list
VS...@lists.lehigh.edu
https://lists.lehigh.edu/mailman/listinfo/vse-l



--
Atentamente,



Mario Izaguirre
Barcelona, Spain

Tsutomu Fukuda

unread,
Apr 14, 2015, 5:41:18 AM4/14/15
to
Hello Mario.

Thank you for your helpful advice.

I did not know about the TDLI or MDLI CICS transactions and was

not able to find the information about these transactions.

If you'd like , Please tell me link-site(or if any manual) that describes
these transactions.

I am sorry that I ask in various ways. I examine it for oneself a little
more.

Regards.

-------------------
Tsutomu

Matsue, Japan.
-------------------

"VSE-L" <vse-l-bounces+tu_fukuda-dcs=mam....@lists.lehigh.edu> wrote on
2015/04/14 16:39:10:
> Barcelona, Spain_______________________________________________

Mario Izaguirre

unread,
Apr 14, 2015, 6:51:09 AM4/14/15
to
Hi Again.

See the DL/I 1.11 Release Guide.

Program: DLZMDLI0

Migration from CICS/VSE to CICS-TS.

See in the DLI VSE library installation, in my case: PRD2.DLI1B0G.

Regards.




Eliseo Bertolín Navarro

unread,
Apr 14, 2015, 8:40:47 AM4/14/15
to
 Hello Tsutomu. 

This is the code you should add/modify in order to run your program under CICS/TS:

1 - Change addressing and access to TCA fields by addressing and access to DLIUIB.

2 - Include pointer to UIB on every call to DL/I

3 - Test 
UIBFCTR instead of 
TCAFCTR

---------------------------------------------------------------------------

          USING UIB,R9                        (R9 or any unused G.REG.)

          DLIUIB                             

​ ​
UIB DSECT

          DFHEISTG

          UIBPTR      DS F                     POINTER TO UIB

 

.........

.........

 

 ​
 

STEP2    CALLDLI ASMTDLI,(SCHED,SYSPCB,PASSWD)

         CLI  

​​
TCAFCTR,0

         BE    STEP21

         CLC   FUNCTC,=CL4'OPEN'

         BE    SCHEDERR

         CLI   TCAFCTR,X'08'

         BNE   SCHEDERR

 

​*   ​

STEP2   CALLDLI ASMTDLI,(SCHED,SYSPCB,PASSWD,

​​
UIBPTR)

          L  R9,UIBPTR             LOAD ADDRESS OF UIB  (R9 or any unused G.REG.)

          CLI UIBFCTR,X'00'        OK?

​              ​
 BE    STEP21

 

--------------------------------

 

STEP51   MVC   DMBNAME,=CL8'RA01IX2D'

 

STEP52   CALLDLI ASMTDLI,(FUNC,DMBNAME)

 

         CLI   TCAFCTR,0

         BE    STEP6

         CLI   TCAFCTR,X'01'

         BNE   STRTERR

STEP6    L     WORK2,VSAMRET

 

 

STEP52   CALLDLI ASMTDLI,(FUNC,DMBNAME,UIBPTR)

          L  R9,UIBPTR             LOAD ADDRESS OF UIB  (R9 or any unused G.REG.)

          CLI

​​
UIBFCTR,X'00'        OK?     

​​                    
BE    STEP6

 

 

--------------------------------

 

 

SCHED    DC    CL4'PCB'

SYSPCB   DC    CL8'SYSTEMDL'

PASSWD   DC    CL8'DLZPASS1'



Best regards.

Eliseo Bertolín 
SYSTEM PROGRAMMER VSE/VM

Barcelona(Spain)

Louis Daugherity

unread,
Apr 14, 2015, 11:39:21 AM4/14/15
to
CALL ASMTDLI is still valid in command-level, but you define the response
code with macro DLIUIB.

Sample code PRD1.BASE DFH$DLAC.A has

CALLDLI ASMTDLI,(THREE,PCB,PSBNAME,UIBPTR)

L UIBREG,UIBPTR
CLI UIBFCTR,X'00' TEST FOR NORMAL RESPONSE
BE CALLNOR YES, PROCEED
CLI UIBFCTR,X'08' TEST FOR INVALID RESPONSE
BE CALLINV YES, SEND ERROR MESSAGE
CLI UIBFCTR,X'0C' TEST FOR DB NOT OPEN
BE CALLNOP YES, SEND ERROR MESSAGE

Richard Verville

unread,
Apr 14, 2015, 12:15:11 PM4/14/15
to
If you don't have the source, the MLI product (Mackinney) will run your
DL/1 programs as is under CICS/TS . It intercepts the call , builds a
UIB call and returns the code in TCAFCTR... Richard

Tsutomu Fukuda

unread,
Apr 15, 2015, 1:57:19 AM4/15/15
to
Hi.

Thank you all for your answers.

We try to change program which open/close DL/I DataBase from TCA to UIB.

also We will consider it to be rewritten from assembler to PL/I.

(CALLDLI ASMTDLI..->CALL PLITDLI.. , Because We use PL/I as major
language.)


Dear Richard.

> If you don't have the source, the MLI product (Mackinney) will run your
> DL/1 programs as is under CICS/TS . It intercepts the call , builds a

MLI's products will be helpful. and We have a source code.

In fact, Our system is a non-LE environment, and also We are considering
conversion

from non-LE to LE environment before convert from CICS/VSE to CICS/TS.

I have heard that it takes time to Changes for LE. (1year or more ?)

Best Regards.

------------
Tsutomu

Japan.
------------

"VSE-L" <vse-l-bounces+tu_fukuda-dcs=mam....@lists.lehigh.edu> wrote on
2015/04/15 01:14:55:

Martin Truebner

unread,
Apr 15, 2015, 2:27:23 AM4/15/15
to
Tsutomu,

>> We have a source code.

yea, that is good. MLI can still help you a lot. I.E. If you only want
to run the stuff another year and then....it does not pay off to invest
in upgrading to support CICS/TS (and then throw it away).

Anyway - your decision:

>> In fact, Our system is a non-LE environment, and also We are
>> considering conversion ....

Does non LE PLI run on CICS/TS?

If not- The conversion itself is not that tricky for the higher
language (PLI that is)- but if your assembler-subroutines do not
adhere to the linkage convention (esp. save and restore of registers) -
you might get bitten by nasty problems. I have been in a conversion
like that (*1) and we had need little bugs (with catastrophic
consequences).

>> I have heard that it takes time to Changes for LE. (1year or more ?)

Certainly not. But depending on the amount and involvement of
subroutines that need adaptation to LE (mainly HLASM) it might need
more than a few days.

Notes:
(*1) It was a conversion from unmaintainable to maintainable and it
involved PLI, ASM (from before my entry to EDP), NATURAL, and a
conversion from VSE to MVS. There ways way to much reliance on non GUPI
(General User Program Interface) stuff, that big head-shops denied to
work on the project.

--
Martin

Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE
more at http://www.picapcpu.de

Tsutomu Fukuda

unread,
Apr 15, 2015, 4:49:33 AM4/15/15
to
Dear Martin.

Thanks for the advice.

>>Does non LE PLI run on CICS/TS?

IBM-SE told us that non-LE PL/I(ASM) cannot run on CICS/TS.

and They showed us a rough procedure to convert.

Step1---[non-LE to LE ( and z/VSE 4.2 to z/VSE5.x on test LPAR )]

・All online/batch program are must to be re-compile or re-assemble.

=>I think basically all source code exists.

Step2----[CICS/VSE to CICS/TS]

=>We have got some Documentation of past cases from IBM-SE.

1)Macro-Program(online) re-write convert (manually or some using the
tool)

DFHPC TYPE=RETURN -> EXEC CICS RETURN ..

2)PCT/PPT/FCT->DFHCSD..

3)Adjustment of DFHSIT parameters ..

Work of steps 1 and 2 might should proceed at the same time on test-LPAR.

We would like to consider the future for detailed instructions and items of
change.

Best Regards.


------------
Tsutomu

Japan.
------------



"VSE-L" <vse-l-bounces+tu_fukuda-dcs=mam....@lists.lehigh.edu> wrote on
2015/04/15 15:27:13:

Jim Elliott

unread,
Apr 15, 2015, 6:39:15 AM4/15/15
to
You need to get CCCA to convert your CICS Macro level to Command level programs. This also helps in getting your Cobol code to current levels.


Jim

Sent from my iPad

Jim Elliott

unread,
Apr 15, 2015, 6:44:38 AM4/15/15
to
Please ignore my note of a few moments ago. I automatically replied about CCCA which is just for COBOL of course. First time I have run into a customer using PL/I on VSE. I am sure there must be some kind of automated tool to help you migrate Macro to Command coding for CICS with PL/I programs, but I am not familiar with one.

Sorry, Jim

Sent from my iPad

> On Apr 15, 2015, at 04:49, Tsutomu Fukuda <tu_fuk...@mam.co.jp> wrote:
>

Deetjen, Jean-Max

unread,
Apr 15, 2015, 2:32:12 PM4/15/15
to
If you go to the WAVV.org website there are some good documents about upgrading cics and z/vse.
Good luck

Max



This e-mail, including any attachments, is intended for the use of the person to whom it is addressed and may contain information that is privileged and confidential. If the reader of this email is not the intended recipient, or the employee or agent responsible to deliver it to the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this information is protected under the law and STRICTLY PROHIBITED. If you have received this e-mail message in error, please notify the sender and delete the related email and any attachments.

Please consider the environment before printing this email. Thank you.

Richard Verville

unread,
Apr 15, 2015, 2:38:05 PM4/15/15
to
MLI will make DOSPLI program work under CICS/TS ! So as long as you have
DFHSAP available in the CICSTS region Richard

Tsutomu Fukuda

unread,
Apr 15, 2015, 7:45:47 PM4/15/15
to
Thank you Jim , everyone.

PL/I macro-level programs were almost rewritten to command-level manually.

The majority of the remaining macro-level program were ASSEMBLER.

IBM-SE showed us the tools named 'CICS Application Migration Aid'.

「CICS application migration Aid」

・the target is COBOL and ASSEMBLER.

 ・convert from macro-level to command-level


http://www-03.ibm.com/systems/z/os/zos/features/lang_environment/assist/tools/cicstl.html

---------------------------------------------------
Sample of execution results(from IBM Documentation)

・Before Converted(macro-level)

DFHTD TYPE=PUT,DESTID=CSML,TDOAVRL

・After Converted(command-level)

EXEC CICS WRITEQ TD QUEUE('CSML') FROM(????) LENGTH(????)

DISP-MSG

-> ECRCM0P03 08 FROM() OPTION REQUIRED
-> ECRCM0P04 08 LENGTH() VALUE REQUIRED

=>We must rewrite 'XXXX' above by manually.

---------------------------------------------------

Best Regards.

-----------------------
Tsutomu

Japan.
-----------------------



送信元: Jim Elliott <jlell...@gmail.com>
宛先: VSE Discussion List <vs...@lists.lehigh.edu>
日付: 2015/04/15 19:44
件名: Re: CICS/VSE 2.3 & DL/I macro Coding
送信者: "VSE-L" <vse-l-bounces
+tu_fukuda-dcs=mam....@lists.lehigh.edu>

Martin Truebner

unread,
Apr 16, 2015, 12:43:24 AM4/16/15
to
Tsutomu,

>> convert from macro-level to command-level

This is the easy part- some (esp assembler programs) do more than the
simple DFHTD DFHTC or DFHPC maxros- they do dirty stuff like

L R4,200(R13)
TM X'500'(R1),C'0'

without comments- do you have the skill at hand to identify and
"translate" that?

In short- Macros are easy- the pitfalls are in the control-blocks
(addressing & even manipulation).

Tsutomu Fukuda

unread,
Apr 16, 2015, 2:07:51 AM4/16/15
to
Hi Martin.

Thank you for answer.

I am sorry. In fact, I myself have not been learned the ASM-program in
earnest.

Detailed assembler programmer retired a few years ago.

We will plan to call some detailed ASM-programmer from external,

but ASM-program(almost macro-level) number are there about 50-60.

I think that this conversion take a few months or a few years.?


Sorry, I give up your skill test ; (L: Load address, TM:Test? )

I found the web-site for assember study.

http://homepage1.nifty.com/ttakao/370asm/index.html

(in JAPANASE , title:OS390 ASSEMBLER HandBook )

I go to bed back home early today..

Thanks

-------------------
Tsutomu

Japan.
-------------------



送信元: Martin Truebner <mar...@pi-sysprog.de>
宛先: vs...@lists.lehigh.edu
日付: 2015/04/16 13:45
件名: Re: CICS/VSE 2.3 & DL/I macro Coding
送信者: "VSE-L" <vse-l-bounces
+tu_fukuda-dcs=mam....@lists.lehigh.edu>



0 new messages