我有一个LAMP(PHP)Web应用程序,需要与IBM 3270大型机上的程序(通过Microsoft SNA Server)进行交互.我正在看的一个解决方案是通过3270进行屏幕抓取.(我将现在与过去整合在一起!)
很多年前,我编写了使用HLLAPI作为此类任务基础的C代码.
Huron是一款4GL,起源于20世纪90年代早期的IBM 360大型机世界,由Amdahl公司创建和销售.它有一个人们喜欢或厌恶的专有解释语言和数据库,其最显着的特性是其不寻常的规则语言语法,以及与查询语言的紧密集成,您必须编写自己的嵌套循环以实现加入.
通过适当使用间接(例如其原型'CALL TABLE.RULE'),可以快速创建极其紧凑,优雅和可扩展的解决方案.在错误的人手中,也有可能创造出令人遗憾的扩散的噩梦般无法维护的怪物,并且没有为其声誉做任何事情.
它在20世纪90年代中期被重命名并重新命名为ObjectStar,移植到Unix和Windows NT,并提供了一个UI组件,可以创建事件驱动的客户端 - 服务器应用程序,无需在Windows或Unix上进行修改即可运行.
它从未真正获得成为顶级开发工具所需的临界质量,并且在千禧年之际,它几乎已经失败了.
回想起来,这是一种历史性的失常; 因此我的问题是:
还有人还在使用吗?
或者甚至听说过它?
我在整个职业生涯中一直在编写和管理Java和ASP.Net应用程序和服务器.现在我被引导参与大型机,即z/OS和JCL,我发现很难绕过它(他们仍然在谈论打卡!).在被现代奢侈品完全宠坏后,学习所有这些的最佳方法是什么?
"我在一家做大量机器工作的公司实习.我的大部分主机经验都是使用Java和Unix系统服务.我有一些ISPF接口和C的经验,但没有使用汇编程序.我即将毕业,将在上学期接受独立学习.我想坚持使用大型机,并想知道哪些资源可以教我主机汇编程序?注意我没有为任何平台编写汇编程序的经验,但是理解二进制,十六进制,并且对寄存器有理论上的理解.
我知道它是在IBM 360大型机架构上实现的,但是有谁知道特别使用了哪些语言?据推测,其中大部分是在3-4个月内编程和部署的 - 这对任何项目来说都是一个非常快速的转变,更不用说有能力监控整个经济的项目了.我部分地认为它可能已经在APL中实现了,因为IBM 360连接并且因为它似乎很适合快速开发这样一个系统所需的那种抽象.有没有人知道更多事实?
我有庞大的主机文件,该文件中有一些打包的数字.我想知道如何使用java解压缩后续数字?
打包数字: ?
我阅读了解包数字的教程,并找到了以下规则来计算解包数字所需的字节数:
total_number_of_bytes = (no. of digits + 1) / 2
我写了以下代码来解压缩数字:
public String unpackData(String packedData, int decimalPointLocation) {
String unpackedData = "";
char[] characters = packedData.toCharArray();
final int impliedPositive = 15;
final int positiveNumber = 12;
final int negativeNumber = 13;
for (int currentCharIndex = 0; currentCharIndex < characters.length; currentCharIndex++) {
byte[] unpackedDigits = unpackByte((byte) characters[currentCharIndex]);
if(currentCharIndex == (characters.length - 1)) {
if(unpackedDigits[1] == impliedPositive || unpackedDigits[1] == positiveNumber) {
unpackedData += String.valueOf(unpackedDigits[0]);
} else if(unpackedDigits[1] == …Run Code Online (Sandbox Code Playgroud) 我有以下代码使用JCL通过FTP发送文件:
//FTP00001 EXEC PGM=IKJEFT01,DYNAMNBR=50
//OUT DD SYSOUT=*
//AMSDUMP DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSPRINT DD DUMMY
//OUTPUT DD SYSOUT=*
//SYSTSIN DD *
123.234.345.67
myuser1
p4ssw0rd
ascii
cd infos
PUT 'EF35.LMINFO.D180203' info_180203.txt
QUIT
/*
Run Code Online (Sandbox Code Playgroud)
它就像一个魅力,问题是我不想把凭证硬编码在JCL里面.我们怎么能隐藏它们,以便任何有权访问JCL的人都看不到连接细节?我也想从输出中隐藏凭据,但请注意我仍然希望看到其余的信息:传输的字节,可能的错误消息等等.
我想将SYSTSIN内容放在一个文件中,但是我遇到了同样的问题:任何有权访问该文件的人都会看到用户并通过.因此,解决这个问题的最佳方法是什么?
我和我的同事在托管的DB2/z数据库(版本8.1)上有几百个SQL存储过程.我们没有管理员权限,我们对数据库的访问是通过QMF屏幕进行的.使用TSO FT命令通过3270终端会话完成下载.
是否有一种简单/有效的方法来提取所有存储过程的定义/文本?
我想在SVN或其他一些版本控制系统中进行每周转储.
任何建议将不胜感激.
谢谢
Stephen
更新 - 2009年7月9日
非常感谢您的建议,但它们似乎对我们的特定配置没有帮助.我将回到我们的供应商并询问他们了解更多信息.当我进一步学习时会更新.
斯蒂芬
I have some Perl code (for performance analysis) first developed under Linux which now needs to be ported to the mainframe. Apparently REXX is the scripting language of choice on that platform but this Perl script relies heavily on associative arrays (basically arrays where the index is a string).
Is there a way that in REXX? How would I code up something like:
$arr{"Pax"} = "Diablo";
$arr{"Bob"} = "Dylan";
print $arr{"Pax"} . "\n";
if (defined $arr{"no"}) {
print "Yes\n";
} …Run Code Online (Sandbox Code Playgroud) 我有以下代码连接到COBOL程序内的外部数据库:
MOVE 'I2SFG04' TO WK-USER
MOVE '12345' TO WK-PASS
EXEC SQL
CONNECT TO :WK-EXT-MACHINE
USER :WK-USER
USING :WK-PASS
END-EXEC.
Run Code Online (Sandbox Code Playgroud)
但是你可以猜到,我不想硬编码用户并在COBOL程序中传递.那么有一种安全的存储方式,所以有权查看COBOL程序的人都看不到凭据吗?
我的第一种方法是使用SYSIN内容创建一个文件(受RACF保护),因此COBOL程序可以加载它,但它不会显示在源代码中.像这样的东西:
//STEP001 EXEC PGM=IKJEFT01
//STEPLIB DD DSN=I2SJR04.SYS.DBRMLIB,DISP=SHR
//SYSIN DD DSN=EF35.PRIVATE.DB.LOGIN,DISP=SHR
//SYSOUT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(SSID)
RUN PROGRAM(MYCOBB) PLAN(PLANNAME) -
LIB('I2SJR04.SYS.LOADLIB')
END
/*
Run Code Online (Sandbox Code Playgroud)
EF35.PRIVATE.DB.LOGIN文件的内容:
I2SFG04
12345
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来处理这种情况?